linux - 为什么在尝试启动 tomcat 并将 std 写入文本文件时得到 “permission denied”?

标签 linux unix console sudo

我正在尝试以将标准输出写入文本文件的方式启动 tomcat。

我正在这样做,但我的权限被拒绝了。这是为什么?

[rob@machine1 bin]$ pwd
/usr/lib64/apache-tomcat-6.0.36/bin
[rob@machine1 bin]$ sudo ./startup.sh > console.log 2<&1
bash: console.log: Permission denied

最佳答案

重定向由当前 shell 完成,它没有 sudo 权限。当你想写入 console.log 时,你可以在一个 shell 上运行 sudo,这个 shell 又可以进行重定向:

sudo sh -c './startup.sh > console.log 2>&1'

备注:
我切换了2<&1的方向进入2>&1 .
您可能希望在自己的启动脚本中包含重定向。

关于linux - 为什么在尝试启动 tomcat 并将 std 写入文本文件时得到 “permission denied”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38729596/

相关文章:

linux - 执行以下命令时,为什么我的权限被拒绝?我正在尝试在 HDP 上运行它

linux - 我正在尝试将文本的特定部分分配给 Linux 中的 .txt 文件

linux - 删除包含数千个文件的大目录的最佳和最快方法是什么(在 ubuntu 中)

从文件中获取第 n 行的 Bash 工具

linux - 我如何将多个目录展平并叠加到一个目录中?

mysql - 如何制作 wget 和 mysql bash 脚本

linux - 如何在不提示密码的情况下以不同的用户身份运行 shell 脚本

linux - Unix 中的访问时间是多少

c++ - 为什么 ReadFile() 不返回 0 ?程序试图永远从管道中读取数据

c++ - 没有下一行的标准控制台输出