bash shell 使用一种称为环境变量的特性来存储有关shell会话和工作环境的信息,该特性还允许假数据存储到内存中,以便于在shell运行程序或脚本访问他们,这是一种便捷的、用于存储持久型数据的方式,这些数据可以标识用户账号、系统、shell或任何需要存储的内容特性。
仅对当前环境有效,当重新定义时,其将会消失
当用户切换到普通用户,此环境变量将无效
针对系统的所有用户均有效
查看系统环境变量,
设置系统级环境变量
刷新
alias
重新开启一个窗口,则提示
刷新
本地窗口查看
重新开一个窗口查询,必须重新开,因为其在开启时会读取其中的内容,若使用上次开启的,则别名的定义不会被读入其中:
切换到一般用户,则该指令失效
定义将其写入/etc/bashrc文件中
进行刷新
在root用户下查看全局别名
切换到一半用户模式下进行查看
使用
4 用户别名的删除
1 删除系统级别名
2 删除用户级别名
3 删除
进行文件删除
并刷新查看
进行删除
查看
如果不指定-p,则显示比较单调
选项
-p : 输出要显示的指令
-s : 表示输入的结果不回显
$0 表示传入参数的脚本的名称,
$1 表示传入的第一个参数
$2 表示传入的第二个参数
以此类推
$# 表示传入的参数的个数总和
$* 表示将传入的所有参数进行整体成一个字符串显示
$@ 表示将所有的参数单个显示出来
其中$1 表示函数调用后面的第一个参数
$2 表示函数调用后面的第二个参数
以此类推
1 普通if 语句
格式
if
条件
then
动作
fi
2 多分支if语句
if
条件
then
动作
elif
条件
then
动作
...
else
动作
fi
if循环的匹配效率过低,因为其是从上向依次次匹配,相较于case,则if效率更低
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
for i in 可遍历的对象
do
动作
done
for (( i=1 ;i<=9;i++))
do
动作
done
While 循环用于不断执行一系列命令,也用于从输入文件中读取数据,命令糖厂为测试条件,格式为:
While condition
Do
Commanf
Done
expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作
其中上面的 set IP [ lindex $argv 0 ] 表示获取第一个参数的值给IP这个变量
spawn 表示调用ssh root@$IP 这个动作
"yes/no" { send "yes\r";exp_continue} 表示当遇到前面的命令时执行yes并回车
"password" { send "$AUTH\r"} 表示当遇到password时执行后面的命令。
interact 表示进行继续操作,如果不加此参数,则自动退出。而不会登录到node2节点上。
1 (())
2 let
3 expr
4 $ [ $a + $b ],必须加号两边要有空格:
5 bc Linux上的计算机
5 如果编译多行到一个文件中,可以使用cat
cat >文件名 <<\EOF
要插入的文件内容
第一行文字
第二行文字
第三行文字
EOF
6 sleep 函数:用于设置脚本运行的延迟。
7 shift 函数
位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等。在 shift 命令执行前变量 $1 的值在 shift 命令执行后就不可用了。
1 通过配置文件IP和用户密码的方式自动获取该主机的主机名
2 编写用户的创建和删除脚本
3 编写文件的创建与删除脚本
原文地址:http://blog.51cto.com/11233559/2093841