【发布时间】:2018-06-22 09:59:02
【问题描述】:
我搜索了很多,但找不到适合我需要的帖子。
我正在执行一个脚本,该脚本创建一个将 sqlplus 的输出重定向到文本文件的文件,完整的目标路径对该组具有 rwx 权限,但我仍然收到错误消息。但是,如果我使用与脚本相同的用户,并在命令行中执行“sqlplus >> file.dat”,我没有错误。
发出的行如下:
sqlplus -s $USERNAME/$PASSWORD@$BBDD @$SQL_SCRIPT_FILE_PATH/sql_file.sql 20180621 | grep '|' >> $DATA_FILES_IN_PATH/file_20180621.dat
和错误: scriptname.sh[25]: "complete_path"/file_20180621.dat: 无法创建 [Permission denied]
权限为 775 且用户、所有者和执行者都在同一个组中
任何人都可以帮助我吗?
提前致谢。
【问题讨论】:
-
如果将输出文件的权限设置为 777 会怎样?
-
为什么会受到影响?阻止我创建文件的权限是目录权限,而不是新文件权限,我错了吗?
-
我同意它不应该。但目前它不起作用。那么要么是操作系统中的错误,要么您的某些假设是错误的。例如,可能是作为不属于该组的另一个用户执行对文件的写入。将权限设置为 777 并重试可以检验这个假设。
-
您也可以尝试使用 strace 运行程序并检查确切的错误代码。可能会给你一些指示
-
也尝试简化问题并尝试
echo "test" >> output.dat。查看问题是否仍然存在