shell变量相关知识
2024-09-06 03:50:12
环境变量和普通变量
一、几个常用命令:
1. set : 输出所有变量,包含全局变量和局部变量
2. env : 只显示全局变量
3. declare : 输出所有的变量,函数,整数和已经导出的变量
4. unset : 消除本地变量和环境变量
5. source /etc/profile : 加载环境变量,使环境变量生效
二、普通变量定义赋值有三种方式:
1. 变量名=value : 不加引号,值里有变量会被解析后再输
2. 变量名='value' : 单引号,纯字符串显示
3. 变量名="value" : 双引号,引号里的变量及命令会解析后输出
三、变量名=$(命令)
把一个命令的结果作为变量的内容赋值,或者用反引号引起来(即tab键上面那个键输出的字符
如:CMD=$(date +%F) :将当前日期(格式化为2018-10-24)赋值给变量CMD
[root@hxjk_test_backend_services config]# CMD=$(date +%F)
[root@hxjk_test_backend_services config]# echo $CMD
2018-10-25
[root@hxjk_test_backend_services config]#
四、$变量, ${变量}
输出变量值
五、shell中特殊位置参数变量
[root@hxjk_test_backend_services test]# cat aa.sh
echo "shell file name: $0"
echo "first param: $1"
echo "params number:$#"
echo "all param:$*"
echo "all param2: $@"
[root@hxjk_test_backend_services test]# sh aa.sh a b c
shell file name: aa.sh
first param: a
params number:3
all param:a b c
all param2: a b c
[root@hxjk_test_backend_services test]#
六、shell进程中的特殊状态变量
1. $? : 获取执行上一个的执行状态返回值(0为成功,非0为不成功)
2. $$ : 获取当前执行的shell脚步的进程号
3. $! : 获取上一个再后台工作的进程的进程号
4. $_ : 获取在此之前执行的命令或脚步的最后一个参数
[root@hxjk_test_backend_services test]# ll
total 8
-rw-r--r--. 1 root root 119 Oct 24 20:21 aa.sh
-rw-r--r--. 1 root root 8 Oct 25 17:30 bb.sh
-rw-r--r--. 1 root root 0 Oct 24 14:49 cc.sh
[root@hxjk_test_backend_services test]# echo $?
0
[root@hxjk_test_backend_services test]# lll
-bash: lll: command not found
[root@hxjk_test_backend_services test]# echo $?
127
[root@hxjk_test_backend_services test]#
最新文章
- SVN 提交报错:×××文件is not under version control
- SpringMVC Mybatis Shiro RestTemplate的实现客户端无状态验证及访问控制【转】
- entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended
- 黄聪:《跟黄聪学WordPress插件开发》
- Objective-C 中基于RunTime实现的反射
- Python SSH登陆--pexpect,pxssh
- LPHW-积累-ex1-6
- css3 钟表
- (一)Memcached初学教程之安装服务篇(Windows下)
- dos攻击与防御
- CodeForces 158C - Cd and pwd commands(模拟)
- Delphi操作XML
- PHP安全编程
- Final 关键字
- Unable to execute 'doFinal' with cipher instance [javax.crypto.Cipher@4e025e0a]
- matlab中如何用rand产生相同的随机数
- Qemu-KVM管理
- JAVA 集合操作总结
- 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- Swing
- Hadoop/HBase Capacity Planning