ubuntu 下 shell脚本的执行

本文介绍了在Ubuntu系统中创建和执行Shell脚本的过程。重点解释了如何赋予脚本执行权限,以及使用bash与sh命令执行脚本的区别。通过具体案例说明了为什么某些情况下必须使用bash来执行脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell脚本的执行

之前写过一些简单的bash脚本,实现一些简单的功能,虽然每次写完之后无法使用
./test.sh 来执行,但是使用 sh test.sh 效果也一样的。
今天在使用 sh 来执行脚本时,出现了错误,就引发了我的好奇心,在网上搜了许多博客,看看到底有什么不同,以下是我的个人思考与理解

首先,在ubuntu 下创建脚本文件时,会默认不能执行,!可以看到无论是用户本身,同组用户,还有其他用户都没有执行权限。
脚本文件权限表在这里插入图片描述
然后我们需要使用简单的指令允许自己执行该批处理文件(该文件可以看作是若干条指令的集合,相当于Windows下面的.bat文件)
chmod +x test.sh
这样就可以使用 ./test.sh来执行该批处理文件了。

我出现的问题是,在使用 sh test.sh 执行文件时有一条语句报错报错信息展示

换成 ./test.sh 来执行就没问题了,我有点迷,在网上搜了好多才发现应该使用bash来执行这个批处理文件,这是由于以下语句要求使用bash来解析。

脚本开头第一句
bash是功能比较齐全的,但是而sh的功能有限,所以会导致出现这样的错误。
希望大家多多指教

Ubuntu执行shell脚本的方法与其他Linux操作系统略有不同。正如引用中所提到的,Ubuntu默认使用的是dash而不是bash作为默认的shell解释器。因此,在Ubuntu下运行shell脚本时,可以使用以下方法: 1. 使用bash命令:在终端中输入`bash file.sh`,其中`file.sh`是你要执行shell脚本的文件名。 2. 添加shebang:在shell脚本的开头添加`#!/bin/bash`,这是一个特殊的注释行,指定了使用bash作为解释器。然后,给该脚本文件添加可执行权限,运行时只需输入`./file.sh`即可执行脚本。 需要注意的是,第二种方法要求在脚本文件中添加shebang并设置可执行权限,这样才能直接通过`./file.sh`来执行脚本。如果没有添加shebang或没有设置可执行权限,可以使用第一种方法来运行脚本。 总结起来,在Ubuntu执行shell脚本的方法是通过bash命令或添加shebang,并给予脚本文件可执行权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ubuntu linux下执行.sh文件](https://blog.youkuaiyun.com/ssf1987/article/details/8769981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Ubuntu系统执行shell 脚本的方法](https://blog.youkuaiyun.com/qq_33210042/article/details/115246262)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值