当前位置:   article > 正文

SH文件介绍

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!"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

解释:
#!/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
  • 1
  • 2
  • 3

方式2:source运行

source myscript.sh
  • 1

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

#!/bin/bash
  • 1

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

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

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

具体用法

单一命令

#!/bin/bash
echo "Hello, World!"
  • 1
  • 2

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

多个命令

#!/bin/bash
echo "Starting the script..."
ls -l
echo "Script completed."
  • 1
  • 2
  • 3
  • 4

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

变量和命令替换

#!/bin/bash
name="John"
echo "Hello, $name!"
current_directory=$(pwd)
echo "Current directory: $current_directory"
  • 1
  • 2
  • 3
  • 4
  • 5

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

接受用户输入

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

此段代码中,使用 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51490
推荐阅读
相关标签
  

闽ICP备14008679号