Shell 变量
来源:互联网 发布:java list 泛型写法 编辑:程序博客网 时间:2024/06/07 23:04
Shell 变量
1、创建子进程的时候,环境变量拷贝一份到子进程的内存栈空间,因此子进程里对环境变量的修改,并不影响父进程内存栈空间的值;2、常用内置变量
- $? —— 上一个命令的返回值
- $# —— 传递给shell脚本的命令行位置参数的个数
- $0 —— 调用的shell脚本的名称
- $n —— 第n个位置参数的值,n从1开始,如 $1, $2, $3, ... $9, ${10}
- $* —— 把所有传递给shell脚本的命令行参数,用一个字符串传递
- $@ —— 把所有传递给sell脚本的命令行参数,但是每个位置参数分别用引号引起来传递
- $$ —— 当前进程的pid号
- $! —— 最后一个提交到后台执行的进程的pid号
Shell 变量扩展
1、判断变量是否被设置${variable:=word}若 variable 被设置且值不为空null,则该表达式的值为variable的值;否则,该表达式的值为字符串word;
variable本身的值也被改变${variable:–word}若 variable 被设置且值不为空null,则该表达式的值为variable的值;否则,该表达式的值为字符串word${variable:+word}若 variable 被设置且值不为null,则该表达式的值为字符串word;否则,该表达式的值为空null例如:name="michole";echo ${name:=Hello};
echo ${nonname:=Hello};
echo $nonnamemichole
Hello
Hello <变量被赋值>echo ${name:-Hello};
echo ${nonname:-Hello};
echo $nonnamemichole
Hello
<变量仍旧保持原值>echo ${name:+Hello};
echo ${nonname:+Hello};
echo $nonnameHello
<变量仍旧保持原值>
2、截取变量的子串
echo ${path#*/bin};
echo ${path##*/bin};/usr/bin/2009/bin/bin.sh <没匹配上模式:/bin,返回原串>
/2009/bin/bin.sh <匹配上模式:*/bin>
.sh <最长匹配上模式:*/bin>echo ${path%/bin};
echo ${path%/bin*};
echo ${path%%/bin*};/usr/bin/2009/bin/bin.sh <没匹配上模式:/bin,返回原串>
/usr/2009/bin <匹配上模式:/bin*>
/usr <最长匹配上模式:/bin*>echo ${#path};24
- Shell变量
- Shell变量
- shell 变量
- Shell 变量
- Shell变量
- shell变量
- shell变量
- shell 变量
- Shell ”变量“
- Shell变量
- SHELL 变量
- shell变量
- shell变量 ***
- shell变量
- shell 变量
- 【shell】变量
- shell 变量
- shell变量
- 多数算法(Majority Algorithm)
- poj-Period-1961
- zend studio 10.1.0.201307161205 破解crack
- 详解Oracle的Hash Join
- Hive体系结构
- Shell 变量
- Linux内核中一些重要的数据结构(二)
- 编写简单的查询语句
- XCode里创建的Cocos2d-x项目如何C++与ObjC混编,以及调用APPLE API和ObjC函数
- shell &> 与 >> 的区别
- JNI技术实践小结--原理分析和详细步骤截图说明
- HDU 1147 Pick-up sticks(计算几何 判断直线相交)
- hdu 1250 Hat's Fibonacci(大数加法)
- EF 数据丢失