linux环境下无法写入文件

linux环境下无法写入文件

我正在使用 GCP Linux 虚拟机并尝试执行一个文件并将结果写入一个新文件。代码如下所示:

./segment.sh inputfile.txt > outputfile.txt

但是,当我这样做时,我收到的消息是permission denied for outputfile.txt

我也尝试过

sudo sh -c ./segment.sh inputfile.txt > outputfile.txt

但收到同样的消息permission denied for outputfile.txt

我怎样才能将结果写入outputfile.txtoutputfile.txt在执行上述操作之前我需要创建一个空文件吗?

答案1

根据提供的信息,问题似乎是您没有当前目录的写入权限。这个答案假设您需要从给定目录运行脚本并且权限等是“正确的”。

你和你的……非常接近sudo sh,我想这可能会起作用。需要注意的是,脚本运行为root,这可能不是您想要的。

sudo sh -c './segment.sh inputfile.txt > outputfile.txt'

此替代方案允许脚本以“您”身份运行,sudo仅调用以写入文件:

./segment.sh inputfile.txt | sudo tee outputfile.txt >/dev/null

如果您遇到sudo密码提示问题,您可以尝试:

sudo : && ./segment.sh inputfile.txt | sudo tee outputfile.txt >/dev/null

相关内容