[shell基础]——变量
变量的赋值
#定义变量,注意等号两边没有任何空格
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基础]——变量的更多相关文章
- shell基础——变量定义
快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...
- shell基础--变量的数值计算
变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...
- Shell基础-环境变量配置文件
Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...
- shell基础及变量
一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...
- 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配置文件 ...
- Linux中shell基础、重定向、管道符、环境变量
1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...
- shell基础、变量、相关脚本
目录 一.shell基础 书写规范 引号 配置文件 read交互 脚本调式 小节总结 二.变量 变量类型 位置变量 状态变量 替换和删除 变量补充 变量运算 小节总结 三.相关脚本面试题 统计hist ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 3 ...
- (转载)shell变量基础—shell自定义变量
(转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...
随机推荐
- Split 之特殊用法
java中split()特殊符号"." "|" "*" "\" "]" 关于点的问题是用stri ...
- 【海量干货】89页PPT详解微信O2O行业解决方案
根据腾讯大讲堂提供的信息,整理成了PPT,下载地址: http://yunpan.cn/cZAbTnJXnMymd 访问密码 f36d
- python学习之路 四 :文件处理
本节重点 掌握文件的读.写.修改方法 掌握文件的处理模式的区别 一.文件读取 1.读取全部内容 # 一次性读取文件 f = open("test.txt",'r',en ...
- Dubbo与Hadoop RPC的区别
本文来自网易云社区 RPC(Remote Procedure Call,远程过程调用)是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编 ...
- Maven项目编译时报错缺少tools.jar
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default ...
- 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 ...
- Thinkpad R400无线网络一个都不见了!
今天,我的Thinkpad R400无线网络一个都不见了,用手机测试,家里的无线网络正常.反复开关无线网络控制硬件开关,还是不好使,无线网络那个图标里面,并没有无线网络.上网搜索一下,发现小黑居然还有 ...
- [Objective-C语言教程]开发环境设置(2)
如果要安装自己的Objective-C编程语言编程环境,则需要在计算机上安装文本编辑器和GCC编译器. 1. 文本编辑器 文本编辑器用于编写程序代码.一些常见的编辑器如:Windows Notepad ...
- 算法 PK 猫咪 | 章鱼保罗后继竟然是只猫?
简评:一只名叫阿喀琉斯(Achilles)的白猫一边小声叫着,一边慵懒地在分别插有俄罗斯和沙特阿拉伯国旗的食盆间踱步.这只看起来并不出众的小猫住在俄罗斯圣彼得堡埃尔米塔日博物馆(State Hermi ...
- 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...