[英]why does this line remove everything instead of one line. Crontab-Bash-Sed
我需要刪除一行 cron 文件,但是當我使用這個 bash 腳本代碼時,它會從 cron 文件中刪除所有內容,並且不會用新結果覆蓋它。
我選擇使用讀取為如下數字的變量刪除哪一行:
read $lineToRemove
crontab -l | sed "${lineToRemove}d" | crontab -
根據我對此的理解,如果用戶輸入數字 2 並按回車,我會讀取用戶輸入。 然后 crontab 文件列在 pipe 行的第一部分。 然后使用sed
function 刪除變量中指定編號的行並將結果寫回cron文件。 然而,當我這樣做時,它會從 cron 文件中刪除所有內容
read
的參數應該排除$
,就像var=value
排除$
一樣。 您正在read
名為$lineToRemove
的變量,而不是lineToRemove
。
$ read x
hi
$ echo $x
hi
$ read $x
hi
$ echo $hi
hi
當我read $x
時,存儲值的變量是$x
,而不是x
,例如hi
。 所以$hi
隨后指的是讀入$x
的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.