当您尝试在没有写入权限的情况下修改文件时,您会收到错误消息:
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)
Sudoing 没有帮助,因为它以 root 身份运行命令,但 shell 处理重定向 stdout 并以您的方式打开文件:
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)
除了以root身份打开shell并以这种方式操作文件之外,是否有一种简单的方法可以将stdout重定向到您无权写入的文件?
> sudo su
# echo test > /tmp/foo
Run Code Online (Sandbox Code Playgroud) 我正在尝试sudo !!
在 Bash 中设置别名。我试过alias sbb='sudo !!
',但它把它解释为文字 !!
并打印
sudo: !!: command not found
Run Code Online (Sandbox Code Playgroud)
如果我使用双引号,它会替换字符串本身中的双 bang,所以这不起作用。
有什么办法可以使这项工作?还是其他别名?`
有没有一种简单的方法可以将以前的命令重新应用于新的命令行条目?
假设我输入了chmod u+r,g+x file.txt
但忘记了 sudo。我可以简单地输入sudo <some easy symbol>
'吗?