Linuxシステム用の多くの共通関数定義を含むbashスクリプトがあります。
それを取得し、他のシェルバージョン(cshとksh)の機能を使用できますか?
ベストアンサー1
Stéphane Chazelasが書いたようにコメント、csh
関連ファイルにはtcsh
機能がないため、とにかく持っている機能ファイルをインポートできません。
ただし、Bourneに似たシェルは構文と機能を共有することが多く、実際にはbash
多くの機能を借用しますksh
が、これらのシェルの一部の機能は互換性がありませんdash
。Ubuntu動作は元の Bourne シェルに近い。
発生するもう1つの問題は、関数だけでなく、関数が呼び出すことができるコマンドにも関連しています。 Ubuntuでこれらの機能を使用しても突然FreeBSDに移動した場合は、類似またはfind
頻繁ps
に使用されるオプションが異なる動作または欠落していることがわかります。
したがって、関数を使用できるようにするには、コマンドとオプションの移植性を考慮し、POSIX標準と元のBourneシェル構文にできるだけ近い関数を作成することをお勧めします。
sudo
または、必要なシェルを常にインストールできる場合(使用しているシステムに対する権限がないと発生しない可能性がある)、特定のシェル構文で関数を作成してください。
バラより移植可能なスクリプトを書くことはいつ重要ですか?より多くの情報を入手してください。