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

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

1. 创建脚本文件

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

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

vim myscript.sh

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

2. 编写脚本内容

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

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

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

这就是在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 语句会捕获到这个失败,并输出一个错误消息。

相关推荐

  1. Linux编写一个 shell 脚本&执行

    2024-04-09 19:20:02       15 阅读
  2. Linux SHELL脚本编程

    2024-04-09 19:20:02       22 阅读
  3. linux centos 定时任务,执行shell脚本

    2024-04-09 19:20:02       17 阅读
  4. Linux shell脚本切换为root用户执行命令

    2024-04-09 19:20:02       16 阅读
  5. LinuxShell脚本编程(十一)

    2024-04-09 19:20:02       19 阅读
  6. Linux学习08_学习shell脚本编程

    2024-04-09 19:20:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 19:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 19:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 19:20:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 19:20:02       20 阅读

热门阅读

  1. 深入了解Fcgiwrap:使CGI脚本与Nginx无缝集成

    2024-04-09 19:20:02       17 阅读
  2. 【蓝桥杯】赛前一周模板

    2024-04-09 19:20:02       14 阅读
  3. ChatGPT新手指南:如何用AI写出专业学术论文

    2024-04-09 19:20:02       12 阅读
  4. vue3 reactive包裹数组无法页面无法响应式

    2024-04-09 19:20:02       12 阅读
  5. 定制您的设备体验:如何更改Android启动动画

    2024-04-09 19:20:02       14 阅读
  6. 出海的网络挑战

    2024-04-09 19:20:02       13 阅读
  7. ALTER TABLE 之 慢速变更(slow alter)

    2024-04-09 19:20:02       15 阅读
  8. LeetCode 670. 最大交换

    2024-04-09 19:20:02       14 阅读
  9. memset()函数及其作用

    2024-04-09 19:20:02       19 阅读
  10. 蓝桥杯-【二分】求阶乘

    2024-04-09 19:20:02       14 阅读