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
转载于:https://blog.51cto.com/13491150/2048004