变量的赋值

#定义变量,注意等号两边没有任何空格
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. Split 之特殊用法

    java中split()特殊符号"." "|" "*" "\" "]"   关于点的问题是用stri ...

  2. 【海量干货】89页PPT详解微信O2O行业解决方案

    根据腾讯大讲堂提供的信息,整理成了PPT,下载地址: http://yunpan.cn/cZAbTnJXnMymd  访问密码 f36d

  3. python学习之路 四 :文件处理

    本节重点 掌握文件的读.写.修改方法 掌握文件的处理模式的区别 一.文件读取 ​    ​1.读取全部内容 # 一次性读取文件 f = open("test.txt",'r',en ...

  4. Dubbo与Hadoop RPC的区别

    本文来自网易云社区 RPC(Remote Procedure Call,远程过程调用)是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编 ...

  5. Maven项目编译时报错缺少tools.jar

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default ...

  6. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  7. Thinkpad R400无线网络一个都不见了!

    今天,我的Thinkpad R400无线网络一个都不见了,用手机测试,家里的无线网络正常.反复开关无线网络控制硬件开关,还是不好使,无线网络那个图标里面,并没有无线网络.上网搜索一下,发现小黑居然还有 ...

  8. [Objective-C语言教程]开发环境设置(2)

    如果要安装自己的Objective-C编程语言编程环境,则需要在计算机上安装文本编辑器和GCC编译器. 1. 文本编辑器 文本编辑器用于编写程序代码.一些常见的编辑器如:Windows Notepad ...

  9. 算法 PK 猫咪 | 章鱼保罗后继竟然是只猫?

    简评:一只名叫阿喀琉斯(Achilles)的白猫一边小声叫着,一边慵懒地在分别插有俄罗斯和沙特阿拉伯国旗的食盆间踱步.这只看起来并不出众的小猫住在俄罗斯圣彼得堡埃尔米塔日博物馆(State Hermi ...

  10. 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...