变量+shell变量(1)



变量类型:运行Shell时,会同时存在三种变量
a):局部变量
在脚本或命令中定义,仅在当前Shell实例中有效,其他Shell启动的程序不能访问局部变量。


b):环境变量
所有的程序,包括Shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要时Shell脚本也可以定义环境变量。


c):Shell变量
Shell变量是由Shell程序设置的特殊变量。Shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了Shell的正常运行。






Shell 支持自定义变量

定义变量时,变量名不加 $ ,遵循规则如下:
1.首个字符必须为字母(a-z,A-Z)
2.中间不能有空格,可以使用下划线(_)
3.不能使用标点符号
4.不能使用bash里面的关键字。










变量的设置规则:
1.变量与变量内容以一个 “=” 连接
2.等号两边不能直接接空格符。
3.变量内容若有空格符可使用双引号或单引号将内容结合起来,
双引号内的特殊字符如 $ 等,可以保持原本的特性。
单引号内的特殊符号则仅为一般字符(纯文本)。
4.可用转义字符“\”将特殊字符(如$ \ 空格 回车 !等)变成一般字符。
5.在一串命令中,还需要通过其他命令提供的信息,可以使用反单引号“`命令`”或 “$ (命令)”,例如想要取得内核版本的设置:
“version=$ (uname-r)”  再 "echo $version" 可得“2.6.18-128.el5”
6.若该变量为了增加变量内容时,则可用“$变量名称”或 ${变量名称} 累加内容。如:PATH="$PATH":/home/bin
7.若该变量需要在其他子程序中执行,则需要以  export 来使变量变成环境变量  在我目前这个Shell的情况下,去打开另一个新的Shell,新的Shell 就是子进程。
8.通常大写字符为系统默认变量,自行设置变量使用小写字符,方便判断。








显示变量:echo $变量名


取消变量:unset 变量名


重新定义变量:已定义的变量可以被重新定义


只读变量:readonly 变量名  只读变量的名不能被改变


使用变量:
使用一个已经被定义的变量,只要在变量名前加 $ 即可,
如: your_name="Tanswer" 
echo ${your_name}
echo $your_name
  花括号是可选的,加花括号是为了帮助解释器识别变量的边界。推荐给所有变量都加




Shell 特殊变量

1.$$ :表示当前Shell进程的ID,即pid。
语法:echo $$
2.$0 :当前脚本的文件名
3.$n :传递给脚本或函数的参数,n是一个数字,表示第几个参数。
4.$# :传递给函数或脚本参数的个数
5.$* :传递给函数或脚本的所有参数
6.$? :上个命令的退出状态,或函数的返回值
7.$@ :传递给函数或脚本的所有参数。


注:$*与$@的区别:
不被双引号包含时,都以"$1""$2"..."$n"的形式输出所有参数

被双引号包含时,$* 会将所有的参数作为一个整体,以"$1 $2...$n"的形式输出所有参数;而$@ 会将各个参数分开,  以"$1""$2"..."$n"的形式输出所有参数。







  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值