一、# 什么是shell
shell 本质上是 linux 命令,一条一条命令组合在一起,实现某一个目的,就变成了shell脚本。它从一定程度上 减轻了工作量,提高了工作效率。
# 官方化的shell 介绍
Shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出,简单来说Shell就是一个用户跟操作系统之间的一个命令解释器。
# 常见的shell 有哪些
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
# 最常用的shell是Bash,也就是Bourne Again Shell。Bash由于易用和免费,在日常工作中被广泛使用,也是大多数Linux操作系统默认的Shell环境。
#开头为数字
echo $SHELL 指向系统环境变量
echo $0 指向当前正在运行的环境变量
二、编辑shell脚本
shell脚本一般以 文件名.sh 命名
#!/bin/bash(文件开头)(需要使用chmod来修改执行权限才可执行)
编辑器:
1.nano编辑器: nano 文件名 (适合新手的模式)
2.vi/vim:
vi/vim插入模式输入↑
vi/vim工作模式↑
vi/vim键盘图↑
3.执行脚本文件:
bash 文件名
./文件名
4.echo "请输入"
使用read 参数名 来赋值到这个参数名
↓0 ↓1 ↓2
name=$1赋值 (数字代表先输入的代码的位置 例如:./t1.sh csz 18)
使用 echo “$name”来接收
$参数↑
三、环境变量:(变量默认值设置)
export定义一个环境变量(只在当前shell中有效,退出后会丢失)
.bashrc里编辑永久保存shell脚本的环境变量(可能需要重启shell才能读取或者使用 (source .bashrc) (. .bashrc) 来重载)
四、生成随机数:
echo $RANDOM
0-10的随机数:echo $((RANDOM % 10 + 1))
shuf -i 1-10 -n 1 (-i表示随机数的范围 -n表示生成随机数的个数)
随机数赋值的时候必用$()
number=$(shuf -I 1-10 -n 1)
shell运算符↑
五、判断语句:
if [[ 判断条件 ]];then fi
可嵌套elif [[ 判断条件 ]];then 注意空格!!!
fi:结束if语句
六、for循环:
for ((i=1; i<=5; i++))
do
echo "Count: $i" 注意空格!!!
done
七、while循环:
while [[ $guess -ne $number ]] 注意空格!!!
do
执行的代码
done
learned from bilibili GeekHour