【Linux】编写一个 shell 脚本&执行

在Linux中编写和执行脚本相对简单。下面是一个基本的步骤指南,帮助你创建一个简单的bash脚本并运行它:

1. 创建脚本文件

首先,你需要使用文本编辑器创建一个新的文件。这个文件通常会有 .sh 的扩展名,以表明它是一个shell脚本。例如,你可以创建一个名为 myscript.sh 的文件。

打开终端,并输入以下命令:

vim myscript.sh

这里使用了 vim 编辑器,但你也可以使用其他你喜欢的编辑器,比如 nano,emacs 等。

2. 编写脚本内容

在编辑器中,输入你想要脚本执行的命令。例如,下面是一个简单的bash脚本,它会在终端中打印出 “xiaoming”:

ps: 第一行 #!/bin/bash 是一个特殊的shebang行,它告诉系统使用哪个解释器来执行这个脚本。在这个例子中,我们使用的是bash shell。

#!/bin/bash
NAME_ID="xiaoming"

echo "变量 NAME_ID 的值为: $NAME_ID"

if [ $? = 0 ]; then  
    echo "******************* shell 脚本执行完成 ******************"  
    exit 0 
else  
     echo "!!!!!!!!!!!!!!!!! [error: 执行失败!] !!!!!!!!!!!!!!!!!!!" 
     exit 1
fi
3. 保存并退出编辑器

如果你使用的是 vim 编辑器,你可以按 Esc + :wq 保存文件,退出编辑器保存文件。其他编辑器的保存和退出命令可能会有所不同。

4. 为脚本添加执行权限

在Linux中,你需要为脚本文件添加执行权限,才能运行它。你可以使用 chmod 命令来添加权限:

chmod +x myscript.sh

这会给 myscript.sh 文件添加执行权限。

5. 运行脚本

现在你可以运行你的脚本了。在终端中输入以下命令:

./myscript.sh

如果一切正常,你应该会在终端中看到 “xiaoming” 的输出。

这就是在Linux中编写和执行脚本的基本步骤。当然,你可以编写更复杂的脚本,包含条件语句、循环、函数等,以实现更复杂的任务。

6.扩展: 上面提供的脚
  1. 首先,$? 变量用于获取上一个命令的退出状态。在您的脚本中,echo "变量 NAME_ID 的值为: $NAME_ID"
  2. 总是成功执行的,因此 $? 将会是 0if [ "$?" = "0" ];then表示成功) 。
  3. 但是,如果您想要模拟脚本执行失败的场景并处理错误,需要在脚本中故意引入一个失败的命令。
  4. 下面是一个修改后的脚本,它会在打印变量值后输出一个成功消息,并演示了如何检查一个故意失败的命令:
#!/bin/bash
NAME_ID="xiaoming"

echo "变量 NAME_ID 的值为: $NAME_ID"

false_command_example

if [ $? -ne 0 ]; then  
    echo "!!!!!!!!!!!!!!!!!!!!!               [error: 执行失败!] 原因可能是:          !!!!!!!!!!!!!!!!!!!!!!!" 
    echo "!!!!!!!!!!!!!!!!!!!!! 1. 某个命令执行失败,比如上面的 false_command_example !!!!!!!!!!!!!!!!!!!!!!!!!" 
    exit 1  
else  
    echo "******************* shell 脚本执行完成 ******************"  

在这个脚本中,false_command_example 是一个不存在的命令,因此它会失败,并且 $? 将不会是 0。然后 if 语句会捕获到这个失败,并输出一个错误消息。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值