1.
vi [file.sh]
2.
file
file test.sh
有:
test.sh: Bourne-Again shell script text executable
无:
test.sh: ASCII text
3.
cd到[file].sh对应的文件目录
chmod +x ./[file].sh
./[file].sh
定义变量:
变量名不加美元符号($),
如:variableName="value"
注意,变量名和等号之间不能有空格
使用变量:
your_name="mozhiyan"
echo $your_name
echo ${your_name}
加花括号为了帮助解释器识别变量边界如: echo ${your_name}abc
重新定义变量:
myUrl="http://see.xidian.edu.cn/cpp/linux/"
echo ${myUrl}
myUrl="http://see.xidian.edu.cn/cpp/shell/"
echo ${myUrl}
只读变量:
尝试更改只读变量,结果报错
myUrl="http://see.xidian.edu.cn/cpp/shell/"
readonly myUrl
myUrl="http://see.xidian.edu.cn/cpp/danpianji/"
删除变量:
unset variable_name
变量被删除后不能再次使用
unset 命令不能删除只读变量
myUrl="http://see.xidian.edu.cn/cpp/u/xitong/"
unset myUrl
echo $myUrl
上面的脚本没有任何输出
环境变量
$set或者declare
$set | less
变量名=值或者变量名="值(可以带空格)"
$readonly ZI_DU=值
$unset [变量名]
$echo ${[变量名]}
$vi .bashrc编辑最后面加上
export PATH=${PATH}:/shell/bin
source .bashrc
#!/bin/bash
echo "请输入密码:"
echo -n -e "\033[30;40m"
read PASS
echo -e "\033[0m"
echo ${PASS} | openssl base64 > /passworld
30-37前景色
40-47后景色
(黑色 红色 绿色 黄色 蓝色 洋红 青色 白色)
echo -e "正在启动 ntpd: \t\t\t\t\t [\033[32;40m确定\033[m]"
ls -l > [file.txt]
ls -l >> [file.txt]
1表示标准输出也是默认输出 1>等同于>
2表示错误输出 ls /abcdefg > [file.txt] 2>&1
cat >> [file.txt] <<R
read [变量名]<[file.txt]
read [变量名]
定时任务
yum install bc -y 数字运算需要
当某目录下占用率达到~%时,报警
yum install crontabs
crontab -e #写任务计划
#分 时 日 月 周 command
>*/1 * * * * [PATH/file.sh]
/etc/init.d/crond status #查看状态
crond is stopped关闭
crond (pid 12581) is running...开启
/etc/init.d/crond start #开启定时任务
/etc/init.d/crond restart #重启定时任务
双引号不忽略引用
单引号忽略引用
echo `[系统命令]`
命令执行顺序和结果
命令的执行结果
成功:返回 0
失败:返回非 0
使用&&符号
格式:命令1 && 命令2 && …
说明:如果命令1 执行成功,那么执行命令2……
使用||符号
格式:命令1 || 命令2 || …
说明:如果||左边的命令执行失败了,那么接着执行右边的命令
使用;符号或()或{}
格式: 1: 命令1 ; 命令2 ; …
说明: 一次下达两个以上的命令
格式: 2:(命令1 ; 命令2 ; …)
(ls ; cat hello.txt; cd) || echo “success”
格式: 3:{命令1 ; 命令2 ; …}
{ls ; cat hello.txt; cd} || echo “success”