shell编程(二)

Shell程序的的变量及参数

在shell程序中,数据用变量来存储,使用变量时不需要声明,默认所有变量类型为字符串类型.
shell程序的参数及变量
这里$*,"$@"和$@的效果是一样的.

使用set设置位置参数.
形如

set $(ls -l)

这样的命令则会把ls -l的结果以此作为他的参数.

常见的环境变量

环境变量说明
$HOME当前用户主目录
$PATH用以搜索命令的目录列表,用:分隔
$PS1命令提示符,通常是用$.root用户则是#
$PS2二级提示符,用来提示后需输入,通常是>
$IFS内部与分隔符

变量的声明

在shell中,使用一般变量可以不用声明,可对于一些特殊变量需要声明.
声明格式:

declare [options] [name=[value]]
typeset [options] [name=[value]]
#unset用于删除shell变量
unset name

常用选项options:
-a 声明一个数组array
-f 声明一个函数function
-i 声明一个整数integer
-r 声明只读变量readonly
-x 声明全局变量,可供子进程使用

注:赋值语句中,等号前后不能有空格.
  整型变量不可以被赋非整型的值

  
set用于查看本地定义的shell变量

变量引用

echo $ {name:-string}
当变量(name)存在时,显示变量的值,否则显示string
echo $ {name:=string}
当变量(name)存在时,显示变量的值,否则把string赋给name,并输出
echo $ {name:?string}
当变量(name)存在时,显示变量的值,否则显示name:string
echo $ {name:=string}
当变量(name)存在时,显示变量的值,否则显示空

  • 用单引号将值括起来,则不允许对括号中的变量进行替换,且不做shell解释,即屏蔽了括号中特殊字符的含义
    例如:
j@Ubuntu:~/pro_shell$ x='$PATH'
j@Ubuntu:~/pro_shell$ echo $x
$PATH
  • '\'在Bash中被解释为转义字符,用于去除一个单个字符的特殊意义,保留跟随在之后的字符的字面值.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值