位置变量:$1 $2
#!/bin/bash
echo $1
echo $2
echo $3
echo $4
echo $$ //当前脚本的进程ID号
echo $# //统计位置变量的个数
echo $* //所有位置变量个数
echo $? // 上一条指令运行是否正常,0:正常; 非0:异常
echo $0 //执行脚本的名字
echo $! //最后一条放进进程的ID号;可以用sleep 1000 & 测试
env:查看所有的环境变量 经常和 “| grep xxx " 搭配使用;
set:机器中的所有变量;
agcd=8888
set | grep abcd
利用脚本创建用户名和密码
#!/bin/bash
useradd $1
#echo 123 | passwd --stdin ad7b
echo $2 | passwd --stdin $1
引号:
“” //界定范围
‘’ //界定范围,屏蔽特殊符号作用;和\功能相同
touch a b
touch "a b"
touch 'x y'
a=10
echo "$a" //显示a的值
echo '$a'//显示变量$a;
``(反撇号) 等效于$() //获取指令的结果
a=date //定义变量a,内容是date
a=·date· //定义变量a,内容是date执行的结果
调用函数: $变量
#!/bin/bash
read -p "请输入用户名" u
useradd $u
read -p "请输入密码" p
#echo 123 | passwd --stdin ad7b
echo $p | passwd --stdin $u
stty -echo //关闭回显
stty echo //开启回显
#!/bin/bash
read -p "请输入用户名" u
useradd $u
stty -echo
read -p "请输入密码" p
stty echo
#echo 123 | passwd --stdin ad7b
echo $p | passwd --stdin $u
发布全局变量
a=10//局部变量
export a=10//全局变量
export -n a //恢复成局部变量
exit //退出解释器
shell 中的数值运算
1.
expr 1 + 1
expr 1 - 1
expr 1 \* 1
expr 1 / 1
expr 1 % 1
\转义符号,屏蔽之后一个字符的特殊含义
2.
echo $[1+1]
echo $[1-1]
echo $[1*1]
echo $[1/1]
echo $[1%1]
3.使用let 可以改变变量本身的值,不显示结果
let a=a+1
echo $a
let的主流用法;
let a++
let a--
let a+=2
4.小数
echo "scale=4;10/3" | bc
echo "1+1" | bc
echo "1.1+1" | bc
echo "scale=3;10/3" | bc