Shell脚本编程
~:代表/root目录
Esc + . :快速调用上一条命令的最后一个参数
重定向
>:将标准输出重定向至、覆盖重定向
>>:追加重定向
2>:错误信息重定向、覆盖重定向
2>>:追加重定向
&>:所有信息(无论错误与否)重定向 &》 /dev/null
<:
| : 管道 统计 配合wc使用
第一个Shell脚本
注意:
文件需要以.sh结尾
第一行需要指定解释器 #!/bin/bash
以#开头作为注释信息(shell中不存在行注释)
#vim first.sh
#!/bin/nash
echo "hello world"
保存并退出
如何执行脚本文件:
1、文件名作为命令来执行
chmod +x first.sh //加权限是最稳妥的方式
./first.sh //执行脚本 文件的绝对路径
2、其他执行方式
sh first.sh //临时执行
source first.sh //
bash firsh.sh //
自动部署本地yum源的脚本
vim yun.sh
#!/bin/bash
mkdir /centos
mount /dev/cdrom /centos
rm -rf /etc/yum.repos.d/*
echo '[rhel]
name=redhat
baseurl=file:///ceentos
gpgcheck=0
' > /etc/yum/repos.d/centos.repo
单引号里面可执行多行输出
变量
引用变量值:$变量名
查看变量值:echo ${变量名}
取消变量:unset 变量名
隔离变量和常量的用法:
var = 11
${var}12 -------> 1112
预定义变量:
直接使用这些变量
不能直接为这些变量赋值
$0:当前所在的进程或脚本名
$*:所有位置变量的值
$$:当前进程给脚本的PID号
$?:命令执行后的返回状态,0表示正常,1或其他值表示异常
$#:已加载的位置变量的个数
非交互设置密码:
echo 密码 | passwd --stdin $1 用户名
单引号和双引号的区别:
单引号中写什么是什么