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中进行替换。 –