我使用如下命令从 bash 脚本运行 Java 代码:
exec nohup "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" com.myClass "$@" &
这将创建输出文件nohup.out
,并且该文件具有如下权限:
-rw------- 1 24308657 Mar 24 12:52 nohup.out
我希望该组也具有读取权限,而不仅仅是运行该命令的用户。
我该怎么做呢?
答案1
您可以使用“and”运算符()在命令中添加权限更改,&&
如下所示:
exec nohup "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" com.myClass "$@" && chmod g+r nohup.out &
答案2
创建nohup.out
文件前您运行nohup
。如有必要,请在创建时为其赋予正确的权限。
touch nohup.out && nohup seq 1
nohup
然后在实际运行之前使用你的默认权限创建文件:
-rw-r--r-- 1 rici rici 6 Mar 25 14:57 nohup.out
nohup
然后将其输出附加到该nohup.out
文件。
答案3
您可以以正常方式更改权限吗?
chmod g+r nohup.out