cwd が別の場所にある場合、実行された Bash スクリプトはファイルを読み込みません。

cwd が別の場所にある場合、実行された Bash スクリプトはファイルを読み込みません。

home/me/bin.bashrcという別名のxs.txtスクリプトがありますhome/me/binxs.txtただし、別のフォルダでエイリアスを実行すると、Desktopxsが見つかりません。 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で呼び出されることです。したがって、xs.txtがある場所にcdする必要があります。シンプル:

TARGET = /home/me/bin
cd $TARGET

スクリプトは雨でもうまく機能します。

関連情報