无法打开 bash 脚本中的任何文件:没有这样的文件或目录
can't open any files in bash script: no such file or directory
我正在尝试在 ubuntu 20.04 上的 bash 脚本中打开一个文本文件。
bash 脚本如下所示:
#!/bin/bash
"gedit /home/usr/textfile.txt"
当 运行 bash 脚本时,我得到以下输出:
./test.sh: line 3: gedit /home/usr/textfile.txt: No such file or directory
在终端中手动输入命令时,一切正常。我试过使用多种不同的 shebang,但这没有帮助。我想这一定是一个相当明显的错误。
"gedit /home/usr/textfile.txt" 是一个字符串而不是执行字符串的命令名称,您可以执行 $("gedit /home/usr/textfile.txt") 或删除引号
#!/bin/bash
gedit /home/usr/textfile.txt
您要在 shell 脚本中输入的任何命令都不应该像上面显示的那样带有引号。尝试:
#!/bin/bash
set -euxo pipefail
gedit /home/usr/textfile.txt
-euxo pipefail
真的很有帮助,我将它包含在我所有的 shell 脚本中。您可以在此处找到有关它的更多信息,https://transang.me/best-practice-to-make-a-shell-script/。
此外,由于您正在编写文件脚本,因此您可能想要添加一个 sed
命令来搜索和编辑或添加一个 echo 来编辑脚本中的文件。
read -r -d '' /home/usr/textfile.txt << EOF
Hello new line
EOF
我正在尝试在 ubuntu 20.04 上的 bash 脚本中打开一个文本文件。 bash 脚本如下所示:
#!/bin/bash
"gedit /home/usr/textfile.txt"
当 运行 bash 脚本时,我得到以下输出:
./test.sh: line 3: gedit /home/usr/textfile.txt: No such file or directory
在终端中手动输入命令时,一切正常。我试过使用多种不同的 shebang,但这没有帮助。我想这一定是一个相当明显的错误。
"gedit /home/usr/textfile.txt" 是一个字符串而不是执行字符串的命令名称,您可以执行 $("gedit /home/usr/textfile.txt") 或删除引号
#!/bin/bash
gedit /home/usr/textfile.txt
您要在 shell 脚本中输入的任何命令都不应该像上面显示的那样带有引号。尝试:
#!/bin/bash
set -euxo pipefail
gedit /home/usr/textfile.txt
-euxo pipefail
真的很有帮助,我将它包含在我所有的 shell 脚本中。您可以在此处找到有关它的更多信息,https://transang.me/best-practice-to-make-a-shell-script/。
此外,由于您正在编写文件脚本,因此您可能想要添加一个 sed
命令来搜索和编辑或添加一个 echo 来编辑脚本中的文件。
read -r -d '' /home/usr/textfile.txt << EOF
Hello new line
EOF