环境变量和普通变量

一、几个常用命令:

  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]#

最新文章

  1. SVN 提交报错:×××文件is not under version control
  2. SpringMVC Mybatis Shiro RestTemplate的实现客户端无状态验证及访问控制【转】
  3. entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended
  4. 黄聪:《跟黄聪学WordPress插件开发》
  5. Objective-C 中基于RunTime实现的反射
  6. Python SSH登陆--pexpect,pxssh
  7. LPHW-积累-ex1-6
  8. css3 钟表
  9. (一)Memcached初学教程之安装服务篇(Windows下)
  10. dos攻击与防御
  11. CodeForces 158C - Cd and pwd commands(模拟)
  12. Delphi操作XML
  13. PHP安全编程
  14. Final 关键字
  15. Unable to execute 'doFinal' with cipher instance [javax.crypto.Cipher@4e025e0a]
  16. matlab中如何用rand产生相同的随机数
  17. Qemu-KVM管理
  18. JAVA 集合操作总结
  19. 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- Swing
  20. Hadoop/HBase Capacity Planning

热门文章

  1. (转)Windows下安装Docker, GitBash环境配置
  2. 关于之前提到的python开发restful风格的接口
  3. 如果你突然被裁员了,你的Plan B是什么?
  4. appium常见问题02_android内嵌H5页(webview)如何定位
  5. 用select实际非阻塞I/O
  6. js设置cookies
  7. js记住密码
  8. MFC绘图基础
  9. ORCAL 数据库的约束以及SQL语言的四种类型
  10. mysql数值字符串类型的按照数值进行排序