1
當運行以下命令:Sudo和反引號?
sudo sh -c "sed s/sda1-uuid/`blkid -s UUID -o value /dev/sda1`/ -i /etc/crypttab"
結果是錯誤的,因爲blkid -s UUID -o value /dev/sda1
不以root權限執行。
我在做什麼錯?
當運行以下命令:Sudo和反引號?
sudo sh -c "sed s/sda1-uuid/`blkid -s UUID -o value /dev/sda1`/ -i /etc/crypttab"
結果是錯誤的,因爲blkid -s UUID -o value /dev/sda1
不以root權限執行。
我在做什麼錯?
通過嘗試在評論中提出的建議,下面的命令現在按預期工作:
sudo sh -c 'sed s/sda1-uuid/$(blkid -s UUID -o value /dev/sda1)/ -i /etc/crypttab'
試單,而不是雙引號。 –
請注意反引號不贊成使用'$()'。 (儘管它與OP的問題無關。) – Biffen
首先將blkid -s UUID -o值/ dev/sda1的輸出存儲到變量中,然後在sed中進行替換。 –