このスクリプトファイルの関数を毎回ソースすることなくロードするにはどうすればよいですか?「コマンドが見つかりません」(Bash /スクリプトの基本)

mrgnw

このスクリプトファイルの関数を毎回ソースすることなくロードするにはどうすればよいですか?

foo実行したいスクリプト関数を含むファイルを作成しましたそれ/usr/binは、PATHにあるにあります。

ファイルfoo

#!/bin/bash
echo "Running foo"

function x {
    echo "x"
}

ただし、xターミナルのよう関数名を入力すると、次のようになります。
x: command not found

次のように入力するとfoo:が
Running foo表示されます(ファイルはPATHにあり、実行可能です)

入力した後source foox関数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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ