1.shell变量(数字 字母 下划线)
代码如下(示例):
(一)方式一 变量名=变量值(基础)
(二)“命令"文件"字符串” 写入shell
方式(一)用冒号写入
方式(二)用$()写入
(三)字符串
区别:两个都一样只不过bash已经有冒号所以 总体用小冒号就可以
2.查看变量
代码如下(示例):
就一个整体是 $ 变量和${}都可以查看
整体后面还有的话 就要使用${}查看
3.变量的引用(export unset)
(一)当父进程定义变量后子进程无法查看(子进程同理) exit退出
(二)如何将子父进程进行共同查看
1.创建变量demo_var
2.vim 添加shell脚本
3.修改权限
4.用四种方式去打开shell(查看shell基本知识1)
5.source 和 . (点) 和bash and ./的不同
6.export声明可将变量子父查看
7.unset删除变量
3.系统变量和环境变量预定义变量
(一)系统变量:
1.env查看 例如 env | more (只列举了一部分) more分页查看env内容还是比较多的
2. set查看 set | more
(一) env | more
(二) set | more
(二)环境变量(重点)
1.查看环境变量 echo $PATH
2.添加环境变量
(一) 把/root添加到PATH环境变量里面,对其他bash生效吗?
(二)切换到var目录下 也可以生效,对其他终端生效吗?
(三)切换到其他终端 运行echo$PATH,发现并不生效
(三)预定义变量
主要是:[echo $?] [echo $ $] [echo $0]
了解这些命令了 什么意思呢?
(1) echo$? (看上一条命令是否执行成功)
1.执行ifconfig 执行成功 那 echo $? 该是多少呢?
2.由此可见 当上一条命令执行成功后,echo $? 是0 ,那执行错误呢?
3.由此可见 当执行ifconfig命令错误是,echo $? 结果是1
(2) echo $$(显示当前进程PID)
(3) cho$0(显示当前进程名称)
在vim2.sh中把echo$$ 和echo $0 添加上去保存退出
不同的运行方式结果有所不同
(三)位置变量(pos)
1.创建修改4.sh
2.并创建u+x权限
3.执行4.sh vim已经带上了位置参数 所以执行时后面带上参数
4.执行发现没有显示参数因为4.sh里面没有添加显示文本
5.添加显示文本并执行发现位置出现了
6.问题来了,bash 4.sh -a 只有一个参数 但是vim里面添加了两个 该显示什么?
7.由此可见,只显示一个参数 下面空着不是滋味,有没有什么方式看着顺眼?
8.在位置参数里加上【-_】来有参数时就直接显示没有参数显示下划线
总结:
$? 上一条命令是否执行成功
$$ 显示当前进程pid
$0 当前进程名称
位置参数
$1 $2 … ${10}
${2-_} //如何第二个参数无值,则结果为 _