shell编程(二)

余生颓废 提交于 2020-03-12 02:21:25

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)存在时,显示变量的值,否则显示空

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!