变量的赋值

#定义变量,注意等号两边没有任何空格
variable=
#定义环境变量
export variable=
#双引号:可含空格、可转义特殊字符
variable=" "
#$() 或 反引号:将命令结果赋值给变量
variable=$( )
variable=` `
#将变量值赋值给变量
gg=$aa$bb

变量的取值

#取值
$variable
#标准写法,建议使用此方法
${variable} 

#示例: 
#DAY=sunday
#echo $DAY
sunday
# echo "hello sunday"> $DAY_file.txt
# ls # echo "hello sunday"> ${DAY}_file.txt
# ls sunday_file.txt

变量的取消与查看 

#unset:取消变量和函数
unset variable
unset function
#env    查看系统所有的环境变量
#set 查看所有的系统预设变量+用户自定义变量

局部变量/用户变量

局部变量:只在当前的shell中有效;
      用户变量:针对与当前用户有效, .bashrc 下可以查看。

全局变量/环境变量

当前创建变量的shell即为父shell,全局变量可以从父shell传递到子shell、孙shell···

注意环境变量只能向下传递而不能向上传递。

一些常见的预设变量(可通过 man bash查看):

#变量BASH:显示当前的bash shell
[root@localhost shell]# echo $BASH
/bin/bash #变量BASH_VERSION:显示当前bash shell版本
[root@localhost shell]# echo $BASH_VERSION
4.1.()-release #变量HOSTNAME:主机名
[root@TXY_host test]# echo $HOSTNAME
TXY_host #变量HOSTTYPE:主机架构
[root@TXY_host test]# echo $HOSTTYPE
x86_64 #变量MACHTYPE:主机类型的gnu标识
[root@TXY_host test]# echo $MACHTYPE
x86_64-redhat-linux-gnu #变量LANG:系统的语言环境
[root@TXY_host test]# echo $LANG
C
#设置语言环境为中文
# export LANG=zh_CN.UTF- #变量PWD:当前目录
[root@TXY_host test]# echo $PWD
/shell/test #变量OLDPWD:上一次访问目录
[root@TXY_host test]# echo $OLDPWD
/shell #变量EUID:显示当前用户的UID
[root@localhost ~]# echo $EUID #变量CDPATH:可以快速进入此目录
#cd时会首先查看当前目录是否有network-scripts,若没有则进入CDPATH定义的目录
[root@localhost shell]# CDPATH="/etc/sysconfig"
[root@localhost shell]# cd network-scripts
/etc/sysconfig/network-scripts #变量FUNCNAME:用在函数内,显示当前函数名
[root@TXY_host test]# cat funcname.sh
#/bin/bash
funcname()
{
echo $FUNCNAME
}
funcname [root@TXY_host test]# bash funcname.sh
funcname

特殊变量

1.位置参数

$0:预留保存实际脚本名字;无论脚本是否有参数,此值均可用。
        $1-$9:第1—9个参数

${10}:位置参数大于9后的表示方法

$#:脚本参数的个数总和

$*/$@:表示脚本的所有参数

2. 特定的变量参数

$!   Shell最后运行的后台Process的PID  
        $-   显示shell使用的当前选项,与set命令功能相同
       $$   脚本运行的当前进程ID号

# cat aatest.sh
#!/bin/bash
echo $$
# ./aatest.sh
3520

3.命令返回值

执行一条命令后,

$? 值为0表示执行成功,非0则表示执行失败。

[shell基础]——变量的更多相关文章

  1. shell基础——变量定义

    快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...

  2. shell基础--变量的数值计算

    变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...

  3. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  4. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  5. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  6. Linux中shell基础、重定向、管道符、环境变量

    1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...

  7. shell基础、变量、相关脚本

    目录 一.shell基础 书写规范 引号 配置文件 read交互 脚本调式 小节总结 二.变量 变量类型 位置变量 状态变量 替换和删除 变量补充 变量运算 小节总结 三.相关脚本面试题 统计hist ...

  8. Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用

    一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境       2> 练习命令历史.命令别名       3 ...

  9. (转载)shell变量基础—shell自定义变量

    (转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...

随机推荐

  1. 从golang的垃圾回收说起(下篇)

    文章来自网易云社区 4 Golang垃圾回收的相关参数 4.1 触发GC gc触发的时机:2分钟或者内存占用达到一个阈值(当前堆内存占用是上次gc后对内存占用的两倍,当GOGC=100时)  # 表示 ...

  2. UWP平台Taglib编译(1)

    此文已由作者郑博授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 最近开始开发UWP平台的App,项目需要用到Taglib进行音视频文件的标签信息读写,Google并没有现成的B ...

  3. 《Beginning Java 7》 - 9 - Nested Types 嵌套类型

    嵌套类分为四种: static member class 静态成员类 nonstatic member class 非静态成员类 anonymous class 匿名类 local class 局部类 ...

  4. javascript设为首页、加入收藏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 补丁patch 漏洞 bug或glitch

    补丁patch漏洞 bug或glitch    

  6. [AIR] 使用操作系统默认应用程序打开文件

    AIR 2.0及以上提供了非常简单易用的API让你使用操作系统所定义的关联应用程序打开文件. 这使得使用AIR开发基于“文件管理器”的应用称为可能 用法如下: var file:File = File ...

  7. iOS 设备定位功能可用的判断

    if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] ...

  8. jmeter性能测试指标

    1.jp@gc - Actiive Threads Over Time:不同时间的活动用户数量展示(图表) 当前的时间间隔是1毫秒,在setting中可以设置时间间隔以及其他的参数 2.jp@gc - ...

  9. sql 列集合

    STUFF((SELECT ','+CAST( TYZ_Bh  as varchar(10)) FROM #1 where 片区划分='江东' for xml path('')),1,1,'')

  10. [原创] Linux 中的 nohup 与 &

    目录 背景 结论放前面 & nohup nohup + & 测试 直接运行 单独使用 & 单独使用 nohup nohup + & 背景 一直没搞清楚 nohup 与 ...