我有一个准备好并在测试平台(linux)服务器中成功测试的shell脚本,并且已将其移到具有读取/写入/执行权限的生产服务器(在测试平台中使用的同一用户,组下)。当我在生产环境中执行脚本时,会出现错误,因为重定向文件是由脚本(在同一文件夹中)在没有权限(--------)的情况下生成的,因此我的脚本执行失败。
我在测试平台服务器上未遇到此问题,仅在用户级别(不是root用户级别)成功测试了脚本。
我已经尝试向用户/组授予我的脚本文件夹/文件的权限,并且用户/组与我在测试平台Linux服务器上成功测试的用户/组相同。
我如何将脚本移至生产环境
unzip -K script.zip
chmod 777 script.zip
cd scriptfolder
./execute.sh
在同一脚本文件夹中生成的重定向文件(gmon.out)
ls -lrt
---------- 1 user group 42023 May 15 10:00 gmon.out
预期的重定向文件
-rw-r----- 1 user group 42023 May 15 10:00 gmon.out
请帮助
答案 0 :(得分:0)
这可能是因为Socowi在命令中指出的umask
。
Umask决定您创建的任何新文件的权限。
您可以使用umask
命令检查umask的当前值。
例如,您可以使用.bashrc
命令来更改个人资料文件中的umask(例如,如果使用bash,则为umask 0027
)。
有关umask的更多信息: