如果 cwd 在其他地方,则执行的 Bash 脚本不会读取文件

如果 cwd 在其他地方,则执行的 Bash 脚本不会读取文件

home/me/bin我的 my 中有一个带有别名的脚本.bashrc,它xs.txt也读取home/me/bin.我希望脚本计算xs.txt;内容的行数但是,如果我从另一个文件夹运行我的别名 --- 比如说Desktop--- 找不到 xs.txt:

num_comps=$(wc -l < xs.txt)

出现错误消息:

home/me/bin/upper: line 20: xs.txt: No such file or directory.
sed: can't read xs.txt: No such file or directory

如何格式化这一行,以便无论我在哪个 cwd 中,我始终可以从中读取xs.txt

答案1

找到帖子的答案https://stackoverflow.com/questions/32200811/bash-read-from-file-in-the-same-directory-as-the-script-file

我忘记的是从 cwd 调用了一个新的 shell 会话,因此我必须 cd 到 xs.txt 所在的位置。一个简单的:

TARGET = /home/me/bin
cd $TARGET

剧本就像雨一样运作良好。

相关内容