看板 Linux 關於我們 聯絡資訊
大家好 我想利用修改crondtab的方式來達成esxi排程關機 在shell script中寫 sed -i '$a 40 9 $1 $2 * /sbin/poweroff ' file name 然後使用 sh xxx.sh 22 3 原本是期望能將月,日的參數傳進去$1,$2裡 結果看檔案最後一行還是一樣是$1,$2 Google了一下,嘗試把單引號改成雙引號 結果會出現sed:unsupported command 9 想請教一下該如何修正呢?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.210.125 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1553583241.A.5B6.html
kenwufederer: 你要不要先查sed的用法? 03/26 17:24
goldie: 改雙引號後 $a 前面需加個反斜線成 \$a 03/26 17:25
Gold740716: 原來那個 $a 是在最後一行後附加的意思 03/26 18:31
stonys: 我知道$a是在最後一行附加的意思(這就是我想要的) 03/26 19:46
stonys: 謝謝2F,看來是類似脫逸字元的用法,我明天再試試看! 03/26 19:47
yvb: 這樣也可: sed -i '$a'"40 9 $1 $2 * /sbin/poweroff" file 03/26 21:24
rickieyang: 沒條件的在最後一行附加上去,echo 不就好了... 03/27 01:13
sppmg: awk, sed 碰到這種我都用 sed 'aaaaa' "$var" 'aaaa' 03/29 12:06
sppmg: 單雙引號間不用/能空格,純粹是方便閱讀 03/29 12:07