码迷,mamicode.com
首页 > 系统相关 > 详细

shell变量

时间:2015-12-13 23:52:53      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:path   shell   变量   

PATH

  • shell使用$PATH的环境变量查找命令

  • 在PATH中添加新路径   export PATH="目录路径":$PATH   

  • 全局变量:在shell和话和该shell任何子进程中可见。env查看

  • 本地变量:只在创建他们的shell中可见,包含全局变量。set查看

  • unset 取消变量

  • readonly设置变量只读


重要的环境变量 

  • PWD:记录当前的目录路径

  • OLDPWD:记录旧的目录。即用户所处的前一个目录

  • PATH:用于帮助shell找到用户输入的命令

  • HOME:记录当前用户的根目录

  • SHELL:默认shell

  • USER和UID:用户名和用户ID

  • PPID:当前进程的父进程号。 $$:自身进程号 PID

  • IFS:用于指定shell域分隔符,默认为空格、换行符和制表符。

  • IFS=$‘\n‘  IFS=:   IFS=:;"


用户环境变量文件

  • /etc/profile  每个用户登入是都执行

  • /etc/bashr    每个用户打开shell时执行

  • .bash_profile 每次登录时执行

  • .bash_login   每次注册时执行

  • .bash_bashrc  当前用户打开shell时执行


关于引号

  • 双引号:解释其中的特殊字符的特殊含义

  • 单引号:以字面意思显示其中的特殊字符

  • 反引号:执行其中的命令


定义变量

  • 变量名不能以数字开头

  • 等号左边不能有空格

  • 不要使用关键字做变量名


例:

    aa=123

    bb=”123 456”  变量值中有空格必须使用双引号

    cc=`ls`反引号用于引用命令



输出变量

  • echo $aa

  • echo ${aa}

  • echo ${#aa}输出变量长度

  • ${A:(-1)} # 倒叙取最后一个字符




变量提取

    file=/dir1/dir2/dir3/hello.txt

  • ${file#*/}:从左到右数拿掉第一个 / 后的内容,dir1/dir2/dir3/hello.txt

  • ${file##*/}:从左到右数拿掉最后一个 / 后的内容,hello.txt

  • ${file%/*}:从右到左数拿掉第一个 / 后的内容,/dir1/dir2/dir3

  • ${file%%/*}:从右到左数拿掉最后一个 / 后的内容,空值


注:

    #从左边数,去掉左边的,一个是最小匹配,两个是最大匹配 

    %从右边数,去掉右边的


  • ${file:0:5}:提取最左边的5个字节,/dir1

  • ${file:5:5}:提取第5个字节右边的连续5个字节,/dir2  



变量替换  

  • ${file/dir/path}:将第一个dir替换为path,/path1/dir2/dir3/hello.txt

  • ${file//dir/path}:将全部dir替换为path,/path1/path2/path3/hello.txt



整数运算符

  • +   -   *   /    %      **      加  减  乘  除  取余   次方  

  • &     |   ^    !     并且 或者 指数 非

  • $((a++))  $((a--)) 每次输出加1或减1


例:

echo $((1+2))

echo $[ 2 + 3 ] 

使用let(只能进行整数运算)

var=1
let "var+=1"
echo $var



数组

  • q=(ab cd 1 2)    #定义数组

  • ${q[*]}       # 数组所有元素,大字符串

  • ${!q[@]}   #创建数组索引

  • ${#q[@]}   #数组输出长度

 

 

十六进制转十进制

echo $((16#47))

二进制转十进制

echo $((2#1101101))


本文出自 “破浪Linux” 博客,请务必保留此出处http://plang.blog.51cto.com/9002142/1722595

shell变量

标签:path   shell   变量   

原文地址:http://plang.blog.51cto.com/9002142/1722595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!