- 文件创建默认是没有执行权限的,所以要给加上权限:chmod u+x sh结尾的文件。
- 注意:shell脚本运行不一定需要解释器,有些脚本没有解释器也可以运行
2.2.常见的符号
> #输出重定向(覆盖)
>> #输出重定向(追加)
; #执行多条命令
| #管道符
&& #前一条命令执行成功才会执行后面
|| #前一条命令执行失败才会执行后面
"" #输出变量识别通配符
'' #输出本身
`` #优先执行,放在``中会识别成命令执行
2>/dev/null #错误输出到无底洞
2.3.计算运算符及linux中的计算器
运算符两边要加空格,并且大括号里面是命令的要与括号隔空格
在Linux命令中 echo -e 这个参数e是什么意思,允许后面的输出进行转义,假设你是 echo -e "i will use \n $HOME" 输出的将是
i will use
/root(当前用户的主目录)
如果是 echo "i will use \n $HOME" 则输出是:
i will use \n $HOME
3.2.shell脚本输出上色
语法:echo -e “\033[字背景颜色;字体颜色;特效字符串\033[关闭属性”
6.1.查看内存的使用量
#!/bin/bash
total=`free -m | sed -n '2p' | awk '{print$2}'`
use=`free -m | sed -n '2p' | awk '{print$3}'`
free=`free -m | sed -n '2p' | awk '{print$4}'`
echo -e "当前内存总量:$total"
echo -e "当前内存使用情况:$use"
echo -e "当前内存剩余:$free"
used=`echo "scale=2;$use / $total * 100" | bc`
if [ `echo "$used > 10.00" | bc` -eq 1 ]
then
echo "当前超出预警,内存使用率:$used%"
else
echo "当前内存正常,内存使用率:$used%"
fi
6.2.批量创建新用户
一、linux 从–stdin输入密码
for name in xp wrg lct
do
useradd $name
echo red | passwd --stdin $name
done
解释:passwd --stdin name 是 更 改name变量的密码,$name变量指代上面for循环的三个用户xp ,wrg, lct
加上–stdin是接受echo后面的字符串(red)做为密码,密码是red