.bashrc
私のファイルはどのように共有されますが、関連部分のみを共有しますか?
たとえば、次の場所に5つの関数を作成しました.bashrc
。
f1() {
...
}
f2() {
f1
...
}
f3() {
f2
...
}
f4() {
f1
f3
...
}
f5() {
...
}
f5()
ケース1:同僚と共有したいので、コピーしてf5()
貼り付けるだけです。
ケース2:共有したいので、コピーして再帰的に合計しf3()
たいです。f3()
f2()
f1()
ケース3:共有したいので、ANDを再帰的にf4()
コピーしたいのですが、どちらもANDとして呼び出されても一度だけコピーしたいと思います。f3()
f2()
f1()
f1()
f1()
f3()
f2()
今は手動で見つけてコピーしますが、エラーが発生しやすいです。これを自動的に実行できますか?私はPythonを使用しません。すべての関数が同じ.bashrc
ファイルにあり、私が定義したbash関数であるとします。
ベストアンサー1
見るflatten.sh。私はすべてのエイリアスと関数をシェルスクリプトにソース化し、必要に応じてフラット化できるようにこの記事を書きました。だから今、あなたがたどった状況に似ています。
したがって、example.lib
次のようなもの(またはあなたのもの.bashrc
):
f1() {
echo "I am f1"
}
f2() {
f1
}
f3() {
f2
}
f4() {
f1
f3
}
f5() {
:
}
example.sh
そして次のスクリプト:
#!/usr/bin/env -S bash -
. /path/to/example.lib
f4
あなたは走ってflatten.sh example.sh
取得する
#!/usr/bin/env -S bash -
f1() {
echo "I am f1"
}
f2() {
f1
}
f3() {
f2
}
f4() {
f1
f3
}
f4