私は便利な機能でいっぱいのユーティリティシェルスクリプトを持っており、それをbash環境にインポートしたいと思います。source
以前は、このコマンドを他の言語と似ているか、import
別の言語で使用したことがありますinclude
。
printer.sh
#!/bin/bash
printAwesome () {
echo "Awesome!"
}
printMoo () {
echo "Moo!"
}
source printer.sh
端末でコマンドを実行していると思います。本当ですか?私たちが従うべき他の手順はありますか?
activate
Pythonにはとがありますdeactivate
。
答え1
あなたが達成したい目標を正しく理解していれば、ファイルをロードするだけではsource
十分ではありません。printer.sh
モジュールとして使用するには、export
スクリプトの外部で使用できる各関数の名前が必要です。したがって、printer.sh
次のようにする必要があります。
#!/bin/bash
printAwesome () {
echo "Awesome!"
}
printMoo () {
echo "Moo!"
}
export -f printAwesome
export -f printMoo
その後、次のように書くことができますmyscript.sh
。
#!/bin/bash
source printer.sh
echo "Let's run these functions ..."
printAwesome
printMoo
echo "Hey, that works now!"