たとえば、を使用してローテーションバックアップを実行するbashシェルスクリプトを記述したいと思いますrsync
。スタンドアロンのスクリプトファイル(backup.sh
)として配置する必要がありますか、それとも関数()でラップする必要がありますbackup
か?スクリプトファイルとして、私はそれを実行することができますbash backup.sh
。foo.sh
機能として、ログインするたびになどのファイルに入れてソースを設定backup
し、コマンドとして実行するだけでファイルをバックアップできます。問題は、2つの戦略の短所と長所は何ですか?
または、より一般的には、どのような状況で、スタンドアロンのシェルスクリプトファイルまたはシェル関数として機能を実装する必要があるのでしょうか。
私の考えのいくつか:ログイン時にいくつかのグラフィカルセッション(KDE、Gnomeなど)が異なるファイルをソースすることを知っています。グラフィカルに起動されたアプリケーションでシェル関数を使用したい場合(アイコンをクリックしてemacsを開くなど)、混乱を招く可能性があります。しかし、私はシェル関数として実装し、それらをファイルにまとめることを好みます。これは、きちんと整理されていると思います。
他のアイデアや提案はありますか?