Shell入门篇二
一、猜数字小游戏脚本(game.sh)
以下是一个使用 Shell 脚本编写的猜数字小游戏示例,通过这个示进行学习Shell脚本的基本语法和常用命令。
#!/bin/bash
echo "请输入你的姓名:"
echo "$name"
#用户输入信息
#read name 读取用户输入
#name=$1 读取第一个参数作为name
#channel=$2 读取第二个参数作为channel
echo "默认性别为人妖!欢迎$name的使用!"
echo "欢迎来到$channel!"
number=$(shuf -i 1-100 -n 1) # 生成 1 到 100 之间的随机数
echo $number
while true
doecho "请用户输入一个 1-100 之间的数字!"read guessif [[ $guess -eq $number ]];thenecho "猜对了!"echo "是否继续游玩~(请输入 Y/N):"read choiceif [[ $choice = "Y" ]];thennumber=$((RANDOM % 100 + 1)) # 生成新的随机数continueelif [[ $choice = "N" ]];thenbreakelseecho "你输入的不符合条件,已经自动退出!"breakfielif [[ $guess -lt $number ]];thenecho "很遗憾你猜的数字小咯~"elif [[ $guess -gt $number ]];thenecho "恭喜你猜的数字大了~"elseecho "猜的数字已经偏离正常了哈~"fi
done
二、在 Linux 上创建 Shell 脚本的方法
1. 使用 Vi 编辑器
vi game.sh
2. 使用 VSCode 的远程 SSH 连接扩展
通过 VSCode 的远程 SSH 扩展连接到 Linux 服务器后,创建并编辑game.sh
文件。
3. 使用 Nano 编辑器
nano game.sh
三、执行 Shell 脚本
1. 使用./game.sh
执行
chmod +x game.sh # 修改文件权限为可执行
./game.sh
2. 使用bash game.sh
执行
bash game.sh
四、参数引用
1. 引用脚本参数
$0 # 当前正在执行的脚本文件的名称
$1 # 传递给脚本的第一个参数
$2 # 传递给脚本的第二个参数
2. 示例
name=$1
echo "默认性别为人妖! 欢迎$name的使用!"
执行脚本时传递参数:
./game.sh 张三
输出结果:
默认性别为人妖! 欢迎张三的使用!
五、环境变量
1. 定义和使用环境变量
# 普通变量
name=张三
channel=猜字游戏界# 环境变量(需要使用 export)
export name=张三
export channel=猜字游戏界
2. 在脚本中使用环境变量
echo "默认性别为人妖! 欢迎$name的使用!"
echo "欢迎来到$channel!"
六、随机数生成
1. 使用shuf
命令生成随机数
shuf -i 1-100 -n 1 # 生成一个 1 到 100 的随机数
2. 使用$RANDOM
环境变量生成随机数
$RANDOM # 生成 0 到 32767 之间的随机数
number=$((RANDOM % 100 + 1)) # 生成 1 到 100 的随机数
七、Shell 脚本中的命令
1. 读取用户输入
read 变量名 # 读取用户的输入并存储到变量中
2. 条件判断
if [[ 条件 ]];then# 条件成立时执行的语句
elif [[ 条件 ]];then# 多级分支条件成立时执行的语句
else# 除规定条件外的其他情况执行的语句
fi
3. 常用条件判断操作符
-eq # 参数相等判断
-lt # 参数小于判断
-gt # 参数大于判断
-ne # 参数不相等判断
4. 循环结构
while 条件
do# 循环体
donefor 变量 in 列表
do# 循环体
done