0

ここで正しい用語を使用していることを願っていますが、UNIXで実行するスクリプトを作成します。このスクリプトは、多数のコマンドを順番に(つまり、次々に)実行します。必要なコマンドをメモ帳に入れ、改行文字で区切り、script.shとして保存してから実行できますか?

sh script.sh
4

3 に答える 3

0

上部にシバン/ハッシュバンが必要です

#!/bin/sh

于 2013-03-01T15:54:20.607 に答える
0

スクリプトファイルに実行ビットが設定されていることを確認する必要があります。また、スクリプトの実行に使用するアプリケーションを指定することもできます。デフォルトでは、アプリケーションを指定しない場合、スクリプトを実行している現在のシェルを使用するようにデフォルト設定されます。私は通常、次のようなアプリケーションを具体的に配置します...

#!/bin/bash

bashこれにより、スクリプトの処理に使用する必要があることが指定されます。特別なスクリプトを使用する場合は、、、などの間に違いがあるため、具体的にする必要がありますshbashksh

また、いくつかのコマンドを順番に実行したいとおっしゃっていたので、いくつかの条件を使用したい場合があります。

簡単な条件の1つは、&&または||スクリプトで使用することです。これにより、コマンドが正常に実行されたときに何が発生するかを指定できます。例えば...

#!/bin/bash

command1 || exit
command2 || exit
command3

これは、command1を実行しようとする、成功しなかった場合は終了します(0より大きい戻りコード)。それ以外の場合は、次の行を実行し続けます。

"と&&"を意味する構文を使用する別の例...

command1 && command2 && command3

最後に、リターンコードを具体的に確認し、エラーメッセージで応答することをお勧めします。

#!/bin/bash

command1
if [ $? -gt 0 ] ; then
  echo "command1 failed with error code $?"
  exit
fi
command2 ....

最後の例は、より高度なシェルスクリプトですが、さらに追求したいことがあります。条件付きスクリプトを使用する場合は、適切なシェルにシバン(#!/ bin / bash)を追加することを忘れないでください。

于 2013-03-01T16:52:50.733 に答える
0

私はこれをbashでテストしただけですが、各コマンドを独自の行に配置するだけで、シバンなどは必要ありません。chmodを使用してファイルに実行権限を付与する必要があります。その後、次のコマンドで実行できます。

    ./myscript

(「myscript」が現在のディレクトリにあると仮定します)。

于 2013-03-01T19:15:22.027 に答える