bashgyc@GYC:~/shell$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
bashgyc@GYC:~/shell$ echo $SHELL
/bin/bash
gyc@GYC:~/shell$ echo $0
-bash
bashgyc@GYC:~/shell$ /bin/sh
$ ls
$ pwd
/home/gyc/shell
$ exit
exit
退出bash#!/bin/bash # 指定使用 Bash 作为解释器
# 输出 "Hello Shell" 字符串
echo "Hello Shell"
# 显示当前用户的用户名
whoami
bash#!/bin/bash
# 遍历从 1 到 5 的数字
for num in {1..5}; do
echo "数字: $num"
done
bash#!/bin/bash
# 遍历从 1 到 100 的数字
for ((i=1; i<=100; i++)); do
# 检查是否是偶数
if (( i % 2 == 0 )); then
echo "$i" # 打印偶数
fi
done
#!/bin/bash # 使用 seq 命令生成 2 到 100 之间的偶数,步长为 2 for i in $(seq 2 2 100); do echo "$i" done
bash#!/bin/bash # 指定使用 Bash 作为解释器
# 生成一个 1 到 10 之间的随机数
ran_number=$(shuf -i 1-10 -n 1)
echo $ran_number # 输出生成的随机数(可选,调试用)
# 无限循环
while true
do
echo "请输入一个1-10之间的数字"
read guess # 读取用户输入的猜测
# 判断用户输入是否正确
if [[ $guess -eq $ran_number ]]; then
echo "猜对了, 是否继续?(y/n)"
read choice # 读取用户是否继续的选择
# 检查用户输入的选择
if [[ $choice == "y" ]] || [[ $choice == "Y" ]]; then
# 如果选择继续,生成新的随机数并重新开始循环
ran_number=$(shuf -i 1-10 -n 1)
continue
else
break # 退出循环
fi
elif [[ $guess -lt $ran_number ]]; then
echo "猜小了" # 猜的数字小于随机数
else
echo "猜大了" # 猜的数字大于随机数
fi
done
()
和 []
用途[]
(方括号)test
命令或 [
命令。bash# 字符串比较
if [ "$var" = "value" ]; then
echo "相等"
fi
# 数字比较
if [ $num -lt 10 ]; then
echo "小于10"
fi
# 文件测试
if [ -f "file.txt" ]; then
echo "文件存在"
fi
[]
时,=
用于字符串比较,-lt
、-gt
、-eq
等用于数字比较。(( ))
(双圆括号)bash# 数学运算
(( sum = a + b ))
# 数值比较
if (( num < 10 )); then
echo "小于10"
fi
(( ))
中,不需要使用 $
来引用变量。可以直接使用变量名。[[ ]]
(双方括号)bashif [[ $var == "value" ]]; then
echo "相等"
fi
if [[ $num -lt 10 && $num -gt 0 ]]; then
echo "在 1 到 9 之间"
fi
[[ ]]
中,==
用于字符串比较,&&
和 ||
用于逻辑与或运算,支持更复杂的条件。[]
进行基本的条件测试。(( ))
进行数学运算和数值比较。[[ ]]
进行更复杂的条件测试,包括字符串比较和逻辑运算。根据需要选择合适的结构,可以提高脚本的可读性和可维护性。如果有更多问题或需要示例,随时问我!
本文作者:GYC
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!