これは最も重要な質問の1つです。スクリプトを効果的に書くには?悪い方法は何で、良い方法は何ですか?私はいくつか知っており、ここで指摘します。もし他の内容をご存知の方は、コメントを残してください。この質問は、利用可能なベストプラクティスを理解するために求められます。すべてをGoogleで検索することは非常に難しく、すべてが常に同じ場所に表示されるわけではありません。したがって、この質問は経験のあるすべての人に与えられました。私はこれらのことを自分で学びようとしています。したがって、ここに提供するすべてのコメント/回答は私と私のような人々にとって非常に役立つと思います。よろしくお願いします。
ベストアンサー1
1. ディレクトリツリーを別途定義する必要はありません。
誤ったアプローチ:
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
良いアイデア:
~ $ mkdir -p tmp/a/b/c
2. アーカイブ:
時々、人々はa.tarのようなtarをアーカイブを抽出したい他のディレクトリに移動するのを見ます。ただし、この目的のためにディレクトリを指定するためにここで-Cオプションを使用できるため、これは必要ありません。
~ $ tar xvf -C tmp/a/b/c newarc.tar.gz
3. 制御演算子の重要性:
2つのコマンドがありますが、2番目のコマンドは、最初のコマンドが実行されたときにのみ実行する必要があります。そうしないと、2番目のコマンドは実行されません。したがって、ここのコマンドは、他のコマンドがゼロ終了ステータスを返す場合にのみ実行する必要があります。
例:
~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
上記の例では、アーカイブの内容はディレクトリ:cから抽出する必要がありますが、そのディレクトリが存在する場合にのみ可能です。ディレクトリが存在しない場合、tarコマンドは実行されず、何も抽出されません。