为什么这不起作用?
[my_user@archlinux ~]$ sudo chown -R ${whoami} /my_folder/path1/path2
chown: missing operand after ‘/my_folder/path1/path2’
Try 'chown --help' for more information.
[my_user@archlinux ~]$ sudo chown -R my_user /my_folder/path1/path2
[my_user@archlinux ~]$ ${whoami}
[my_user@archlinux ~]$ $whoami
但:
[my_user@archlinux ~]$ whoami
my_user
如何使用whoami
in的结果sudo chown -R
?
答案1
这多变的 $whoami
没有价值。你可以给它一个值
whoami=$(whoami)
但在这种情况下,您可能想直接使用命令替换$(whoami)
:
sudo chown -R "$(whoami)" /my_folder/path1/path2
命令替换 ,$(...)
扩展为命令的输出(减去任何尾随换行符)。
变量$LOGNAME
(和/或$USER
)应具有与返回的值相同的值whoami
,这意味着您也可以这样做
sudo chown -R "$LOGNAME" /my_folder/path1/path2