共计 1049 个字符,预计需要花费 3 分钟才能阅读完成。
cat /etc/shells // 多种解释器
echo $SHELL // 默认解释器
1.脚本格式
脚本以 #!/bin/bash 开头(指定解释器)
2.脚本执行
bash|sh hellowWorld.sh // bash 或 sh 来执行
./helloWorld.sh // 脚本需要执行权限
3.多命令处理
touch bash.sh // 先创建一个脚本文件
// 在脚本文件中写入如下代码
#!/bin/bash
cd /home
touch hi.txt
echo "hahaha" >> hi.txt
bash bash.sh // 执行脚本文件
一、shell 中的变量
1.系统变量
echo $HOME // 当前用户家目录
echo $PWD // 当前目录
echo $SHELL // 默认解释器
echo $USER // 当前用户
2.自定义变量 变量默认类型是字符串类型,无法直接进行数值运算
变量值有空格,要用双引号或单引号括起来
A=2 // 等号两边没有空格
unset A // 撤销变量
readonly B=3 // 静态变量,不能 unset
D="aa aavv ddd"
export 变量名 // 将变量提升为全局环境变量,可供其他 shell 程序使用
3.特殊变量$n(n 为数字,$0 代表该脚本名称,$1-$9 代表第一到第 9 个参数,十以上参数需要用大括号,如 ${10})
sh hello.sh xx mm
echo "$0 $1 $2" // 输出 hello.sh xx mm
$#(获取所有输入参数的个数,常用于循环)
$*(代表命令行中所有的参数,$* 把所有的参数看做一个整体)
$@(也代表命令行中所有的参数,不过 $@把每个参数区别对待)
$?(最后一条执行命令的返回状态,为 0 则上个命令正确执行,非 0,则上个命令执行不正确)
二、shell 中的运算符
-
“$((运算符))” 或 “[运算符]”
expr +,-,*,/,% 加减乘除,取余,expr 运算符间要有空格 - 案例
expr 3 + 2
expr `expr 3 + 2` \* 10
三、shell 中的条件判断
[condition] condition 前后要有空格, 条件非空即为 true,[xxx] 返回 true,[] 返回 false
-lt 小于 -le 小于等于
-eq 等于 -gt 大于
-ge 大于等于 -ne 不等于
-r 有读权限 -w 有写权限
-x 有执行权限
-f 文件存在并是一个常规文件
-e 文件存在
-d 文件存在并是一个目录
[-w hello.sh]
[-e /home/hello.sh]
[condition] && echo ok || echo notok
// && 前个命令执行成功 则执行 echo ok,|| 前个命令执行失败则执行 echo notok
正文完