bash_profile
以下を使用してファイルを見つけました。export -f
宣言は次のとおりです。
# Run xelatex and BibTeX
function xelatex_bibtex {
xelatex -shell-escape "${1}.tex" &&
bibtex "${1}" &&
xelatex -shell-escape "${1}.tex" &&
xelatex -shell-escape "${1}.tex"
}
export -f xelatex_bibtex
しかし、定義のない関数はexport -f
正しく機能しているようです。
# Search for synonyms
function syn {
wn "${1}" -synsn
}
効果は何ですか?export -f
bash_profile
使用面で便利な機能を作成する際のベストプラクティスと見なされるものは何ですかexport
?
答え1
その役割は変数の役割とまったく同じです。つまり、定義を継承した環境にエクスポートします。
だから
$ foo() { echo bar; }
$ foo
bar
サブシェルの起動
$ bash
今:
$ foo
Command 'foo' not found, did you mean:
command 'roo' from snap roo (2.0.3)
command 'fio' from deb fio
command 'fgo' from deb fgo
command 'fog' from deb ruby-fog
command 'woo' from deb python-woo
command 'fox' from deb objcryst-fox
command 'goo' from deb goo
command 'fop' from deb fop
See 'snap info <snapname>' for additional versions.
そして関数をエクスポートした後、同じサブシェルは次のようになります。
$ export -f foo
$ bash
$ foo
bar