环境变量和普通变量

一、几个常用命令:

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

shell变量相关知识的更多相关文章

  1. Shell变量相关

    li@ubuntu:~/test$ vi test.sh li@ubuntu:~/test$ cat test.sh #!/bin/bash #shell变量不加引号;加单引号;加双引号都行 url= ...

  2. linux shell脚本相关知识

    最近的项目中,有一个编写linux shell脚本的任务.由于之前不是很熟悉,在这个过程中遇到了很多困难,查找了很多资料,也收获了很多.下面是linux shell脚本中常用的知识总结. 1基础语法 ...

  3. shell 变量相关的命令

    变量="变量" readonly 变量名="变量"  表示设置该变量为只读变量 ,这个变量不能别改变 echo $变量名 set  显示本地所有的变量 unse ...

  4. 非静态内部类中 static/final 成员变量相关知识

    原文链接:https://blog.csdn.net/qq_20328181/article/details/81391956

  5. Linux Shell系列教程之(三)Shell变量

    本文是Linux Shell系列教程的第(三)篇,更多shell教程请看:Linux Shell系列教程 Shell作为一种高级的脚本类语言,也是支持自定义变量的.今天就为大家介绍下Shell中的变量 ...

  6. shell 环境变量的知识小结

    环境变量的知识小结:·变量名通常要大写.·变量可以在自身的Shell及子Shell中使用.·常用export来定义环境变量.·执行env默认可以显示所有的环境变量名称及对应的值.·输出时用“$变量名” ...

  7. SHELL (2) —— Shell变量的核心基础知识和实践

    摘自:Oldboy Linux运维——SHELL编程实战 Shell变量:用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其它的内容. ...

  8. shell脚本—基础知识,变量

    shell脚本本质: 编译型语言 解释型语言 shell编程基本过程 1.建立shell文件 2.赋予shell文件执行权限,使用chmod命令修改权限 3.执行shell文件 shell变量: sh ...

  9. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

随机推荐

  1. python装饰器参数那些事_接受参数的装饰器

    # -*- coding: utf-8 -*- #coding=utf-8 ''' @author: tomcat @license: (C) Copyright 2017-2019, Persona ...

  2. 记录MNIST实现与理解

    之前半个月的时间几乎都在看理论书籍,最近两天开始撸代码,一个跟Hello World同级别的教程例子就出来了,那就是MNIST.实现代码应该很多地方都有: #!/usr/bin/env python ...

  3. appium常见问题09_MAC打开uiautimatorviewer闪退怎么办?

    问题: 下载安装Android SDK后,并且已在.bash_profile文件中配置环境变量.但是在tools中打开定位工具uiautomatorviewer出现闪退. 解决: 首先检查环境变量配置 ...

  4. [题解]Print a 1337-string...-数学(codeforces 1202D)

    题目链接:https://codeforces.com/problemset/problem/1202/D 题意: 构造一串只由 ‘1’,‘3’,‘7’ 组成的字符串,使其 ‘1337’ 子序列数量为 ...

  5. pssh系列命令详解

    安装 pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可 ...

  6. ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

    https://blog.csdn.net/ztf312/article/details/50708302 报错原因: Numpy对逻辑表达式判别不清楚,它可以返回False如果等号两边两个式子是数值 ...

  7. 一个spark SQL和DataFrames的故事

    package com.lin.spark import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.ty ...

  8. POJ 2412 /// 空间几何 经纬度转三维坐标 角度转弧度 法向量

    题目大意: 给定半径6378km的球上的 多个地点 及其  经纬度 多个询问 给定三个地点 A B C A与B的等距点在球上形成一个大圆 即球面上有一个到两点距离相等的大圆 且大圆所在平面垂直两点连线 ...

  9. Netty 粘包 拆包 | 史上最全解读

    Netty 粘包/半包原理与拆包实战(史上最全) 疯狂创客圈 Java 聊天程序[ 亿级流量]实战系列之13 [博客园 总入口 ] 本文的源码工程:Netty 粘包/半包原理与拆包实战 源码 本实例是 ...

  10. java并发编程之美-阅读记录3

    java并发包中的ThreadLocalRandom类,jdk1.7增加的随机数生成器 Random类的缺点:是多个线程使用同一个原子性的种子变量,导致对原子变量的更新产生竞争,降低了效率(该类是线程 ...