Bashで関数を定義して使用できます。
foo() { echo $1; }
foo test
ただし、bashスクリプトから自分の機能を収集したい場合は、次のすべての機能を使用できません。
バッシュの初期化
#!/bin/bash
foo() { echo $1; }
export -f foo # This not helps
使用:
./init.bash && foo test # error here
スクリプトの機能を上位範囲にエクスポートする方法はありますか?
作成しないとグローバルすぎます.bashrc
が、現在のbashインスタンスにのみ適用されます。.bashrc
答え1
source
ファイルを挿入できますinit.sh
。export
そのファイルの機能は必要ありません。
$ cat init.bash
foo() { echo $1; }
そしてそれを使用してください:
$ . ./init.bash && foo test
test
ファイルを取得すると、現在のシェルコンテキストのファイルからコマンドが実行されます。したがって、これらの機能は親。
export
現在のシェルとサブシェルに適用可能な変数のプロパティが設定されます。親シェルではありません。変数を定義する必要があります。現在のシェルのコンテキスト。