我有一個bash腳本中的sed命令,用一個變量的值替換文件中的第10行。 確定以停止confustion(這是我的錯,這裏是完整的腳本:sed錯誤:未知選項's'
#!/bin/bash
#Sync timezone between system and php
##get current timezone of system
line=$(head -n 1 /etc/sysconfig/clock)
timezone=${line:6}
##Set up php date string
time="date_default_timezone_set('${timezone%?}');"
sed -i 10s|.*|$time| test.php
左右的時間將有一個值,如:
date_default_timezone_set(「歐洲/倫敦)
現在給這些錯誤:
> test.php: Permission denied
> date_default_timezone_set('Europe/London);: Not such file or direcotry
> .: .:: is a directory
> sed: -e expression #1. char 3: unterminated 's' command
任何幫助將是巨大的,如果你需要任何更多的信息讓我知道
!
,它將取代整條生產線'$ time'。你不是隻想替換部分行,比如'$ timezone'? – Zenexer 2013-05-03 19:13:28
是的另一種選擇是將行保留在test.php中,並只更新$ timezone的部分。我不確定如何做到這一點,所以只是做了整個線路,但如果你能做到這一點,那將是很大的 – 2013-05-03 19:14:30
這將用'$ time'替代整個線路。你只需要用'$ time'在你的PHP文件中有一行。通常,這是無效的PHP。 - 哦,等等,我明白了...... – Zenexer 2013-05-03 19:15:31