如何写一个sh脚本?

时间:2013-03-01 15:52:52

标签: unix sh

我希望我在这里使用正确的术语,但是我想编写一个在unix中执行的脚本,它将按顺序执行许多命令(即一个接一个地执行)。我可以将我想要的命令放在记事本中,用换行符分隔它们,然后将其保存为script.sh然后执行

sh script.sh

3 个答案:

答案 0 :(得分:0)

您需要在顶部<{3}}

#!/bin/sh

答案 1 :(得分:0)

您需要确保为脚本文件设置了执行位。此外,您可以指定用于运行脚本的应用程序。默认情况下,如果您未指定应用程序,则默认使用正在执行脚本的当前shell。我通常把这个应用程序专门用于以下......

#!/bin/bash

这将指定bash应该用于处理您的脚本。如果您进入任何特殊脚本,您将需要具体,因为shbashksh等之间存在差异。

另外,既然你提到你想按顺序运行几个命令,你可能想要使用一些条件。

一个简单的条件是在脚本中使用&&||。这将允许您指定命令成功执行时发生的情况。例如......

#!/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 ....

最后一个示例是更高级的shell脚本,但您可能想要进一步追求。如果你进入任何条件脚本,总是记得为正确的shell添加你的shebang(#!/ bin / bash)。

答案 2 :(得分:0)

我只在bash中测试过这个,但是你可以把每个命令放在自己的行上,没有任何必要的东西。你必须用chmod给文件执行权限,然后你可以用

运行它
    ./myscript

(假设“myscript”在当前目录中)。