SH文件介绍

介绍

SH文件通常指的是 Shell 脚本文件,文件后缀名为.sh,其中包含一系列要由操作系统的命令解释器执行的命令。

在 Unix 和类 Unix 操作系统中,通常使用 Bourne Shell(sh)或其衍生的 Shell(如 Bash、Zsh)来执行这些脚本。

SH文件示例

在 Shell 脚本文件中,可以通过直接编写命令来执行特定的操作。

#!/bin/bash

# 这是一个简单的 Shell 脚本
echo "Hello, World!"

# 使用变量
name="John"
echo "Welcome, $name!"

解释:
#!/bin/bash:指定了用于执行脚本的解释器,这里是 Bash。
echo "Hello, World!":打印 “Hello, World!” 到终端。
name="John":定义了一个变量 name,并赋值为 “John”。
echo "Welcome, $name!":使用变量输出 “Welcome, John!”。

执行SH文件

要执行这个脚本,可以将其保存为文件,例如 myscript.sh,然后在终端中运行。

方式1:bash运行

bash myscript.sh
# or
sh myscript.sh

方式2:source运行

source myscript.sh

方式3:./ 运行
原理同bash运行,保证脚本首行有如下规则:

#!/bin/bash

并给脚本添加执行权限,然后直接运行:

# 添加执行权限
chmod +x myscript.sh
# 进入到脚本目录,直接运行
./myscript.sh

区别
bash执行脚本时,会创建shell子进程执行命令,子进程中会设置自己运行环境变量,但父进程的环境变量不会改变。 子进程执行完毕将会消失,并切换为父进程继续接收命令。
source执行脚本时,不会创建子进程,而是在父进程中直接执行,因此会改变父进程的环境变量。
./ 执行脚本与bash原理相同,但需要确保脚本首行指定执行文件(#!/bin/bash)且脚本本身具有执行权限。
总结:若要修改当前shell本身的环境变量,则需要使用source命令执行脚本。bash执行方式适用于安装软件,source执行方式适用于修改环境变量。

具体用法

单一命令

#!/bin/bash
echo "Hello, World!"

此段代码中,echo "Hello, World!" 是一个简单的命令,会将 "Hello, World!" 输出到终端。

多个命令

#!/bin/bash
echo "Starting the script..."
ls -l
echo "Script completed."

此段代码中,脚本包含了多个命令,使用换行符分隔。

变量和命令替换

#!/bin/bash
name="John"
echo "Hello, $name!"
current_directory=$(pwd)
echo "Current directory: $current_directory"

此段代码中,展示了如何定义变量并在命令中使用它们,以及如何使用 $(command) 进行命令替换。

接受用户输入

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name! Nice to meet you."

此段代码中,使用 read 命令可以接受用户的输入。

条件语句

#!/bin/bash
age=25

if [ $age -eq 18 ]; then
    echo "You are 18 years old."
else
    echo "You are not 18 years old."
fi

此段代码中,展示了一个简单的条件语句,根据年龄输出不同的消息。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NSJim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值