【问题标题】:cannot create [Permission denied] executing script无法创建 [Permission denied] 执行脚本
【发布时间】: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。查看问题是否仍然存在

标签: redhat permission-denied


【解决方案1】:

好的,已解决,这是由于之前存在由另一个用户创建的相同命名文件。

感谢您的回答:)

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多