bash变量详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
大家都知道Shell是一门脚本语言,脚本语言的最好的优点就是我们写的代码不需要编辑就可以直接运行,当然你也可以把它归类为解释性语言。它的好与坏我在这里就不唠叨了,这种语言并不适合做大量的数据运算,Shell最大的好处就是可以帮助运维人员减少重复操作,或者说帮助运维人员来完成系统性的运维工作。而且使用起来特别容易上手,接下来我们就一起研究一下这门语言。
今天,我们要来学习的是Shell的变量,说起Shell的变量,那可了不得,我们可以将其分为4类:
a>.用户自定义变量;
b>.环境变量;
c>.位置参数变量;
d>.预定义变量;
那么究竟是怎么回事呢?这些变量你心中是否都知道呢?接下来就跟着我一起来深入浅出Shell变量吧。
1 [root@yinzhengjie ~]# echo $PATH2 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin3 [root@yinzhengjie ~]#4 b>.PATH变量叠加;5 [root@yinzhengjie shell]# PATH="$PATH":/root/yinzhengjie/shell6 [root@yinzhengjie shell]# echo $PATH7 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/yinzhengjie/shell:/root/yinzhengjie/shell:/root/yinzhengjie/shell8 [root@yinzhengjie shell]#
1 [root@yinzhengjie ~]#PS1='[\u@\h\#W]\$'2 [root@yinzhengjie ~]#PS1='[\u@\h \W]\$ ' //Linux默认设置。3 [root@04:22:30 ~]#PS1='[\u@\h \W]\$'
1 [root@yinzhengjie shell]# more argv1.sh 2 #/bin/bash 3 4 num1=$1 5 num2=$2 6 sum=$(($num1 + $num2)) 7 cha=$(($num1 - $num2)) 8 9 echo "两个参数的和:"$sum10 echo "两个参数的差:"$cha11 [root@yinzhengjie shell]#
1 [root@yinzhengjie shell]# more argv3.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 echo "当前的进程PID是:$$" 8 9 find /root -name yinzhengjie.sh > res.txt &10 11 echo "后台执行的进程是:$!"12 [root@yinzhengjie shell]#
1 [root@yinzhengjie shell]# more read.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 read -t 10 -p "请输入用户名:" name 8 echo "您输入的用户名是:$name" 9 10 read -s -t 10 -p "请输入你的年龄:" age11 echo "\n"12 echo "您输入的年龄是:$age"13 14 read -n 1 -t 10 -p "请问你是性别是[Boy/Girl]:" sex15 echo "\n"16 case $sex in17 "B")18 echo "性别是:boy"19 ;;20 "G")21 echo "性别是:girl"22 ;;23 *)24 echo "性别未知!"25 ;;26 esac27 [root@yinzhengjie shell]#