** shell脚本首先定义用什么解释器** #!/bin/bash

执行权限 用sh 1.sh 可以不用root权限,./1.sh 是需要执行权限的 *source 1.sh 之后才能使用1.sh里面的变量

变量分为环境变量(大写$HOME)和局部变量 全局变量设置方法 放在/etc/profile 里面export MONEY=100,用户家目录的.bash_profile里面的变量只对当前用户有效 /etc/profile.d/ 里面可以放登录的脚本 env和set可以显示当前环境变量 取消变量:unset MM(变量名)

普通字符串变量定义 建议:单纯的数字不加引号,其他都加双引号 变量名=value 变量名=‘value’ 原样输出,适合纯字符串 变量名=“value” 解析后输入,适合有变量及命令 例子1: python@Ubuntu:~$ echo "today is $(date)" today is 2017年 12月 07日 星期四 21:58:16 CST 例子2: python@Ubuntu:~$ echo 'today is $(date)' today is $(date)

$0 $0 表示脚本名(也包括路径) python@Ubuntu:~/yunwei$ cat n.sh echo $0 dirname $0 basename $0 python@Ubuntu:~/yunwei$ sh /home/python/yunwei/n.sh /home/python/yunwei/n.sh /home/python/yunwei n.sh 解释: dirname $0 脚本路径 basename $0 脚本名

$n 取脚本的传参 python@Ubuntu:~/yunwei$ cat p.sh echo $1 echo $2 python@Ubuntu:~/yunwei$ sh p.sh oldboy oldgirl oldboy oldgirl python@Ubuntu:~/yunwei$

${10} 10以后要用大括号括起来

$# 取参数的个数

$$ 当前明亮的pid