このスクリプトファイルの関数を毎回ソースすることなくロードするにはどうすればよいですか?
foo
実行したいスクリプト関数を含むファイルを作成しました。それ/usr/bin
は、PATHにあるにあります。
ファイルfoo:
#!/bin/bash
echo "Running foo"
function x {
echo "x"
}
ただし、x
ターミナルのように関数名を入力すると、次のようになります。
x: command not found
次のように入力するとfoo
:が
Running foo
表示されます(ファイルはPATHにあり、実行可能です)
入力した後source foo
、x
関数xを実行するために入力できます
かなり基本的な質問だと思います。スクリプトを抽象化して、スクリプトをより管理しやすくしようとしています(.profileまたは.bashrcにすべてをダンプするのと比較して)。
mikeservの回答は、「舞台裏」で行われていることの詳細には適していますが、正確なタイトルの質問に対する簡単で使用可能な回答が含まれていないため、ここで別の回答が必要だと思います。
このスクリプトファイルの関数を毎回ソースすることなくロードするにはどうすればよいですか?
答えは次のとおりです。実行する各シェルで使用できるように、.bashrc
またはあなたからソースを.bash_profile
取得します。
たとえば、私は私の中に次のものを持っています.bash_profile
:
if [ -d ~/.bash_functions ]; then
for file in ~/.bash_functions/*.sh; do
. "$file"
done
fi
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加