env:来查询环境变量,环境变量能被当前进程和子进程调用,但是不能被新开终端调用 set:是列出所有的临时变量和环境变量,临时变量只能被当前进程调用 export:是可以将临时变量变为环境变量 unset:取消变量
4、全局变量:
$HOME/.bashrc:当前用户的bash信息,包括aliase、umask等 $HOME/.bash_profile:当前用户的环境变量,此处的环境变量可以在新开终端调用 $HOME/.bash_logout:每个用户推出去当前shell时最后读取的文件
5、位置参数变量
解释:主要是向脚本中传递数据,变量名不能自定义,变量作用是固定的 $n:$0代表命令本身,$1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如${10}代表接收的第10个参数 $*:代表接收所有的参数,将所有参数看作一个整体 $@:代表接收的所有参数,将每个参数区别对待 $#:代表接收的参数个数 $?:代表上一个命定的返回值,0为标准输出,1&2表示没有那个目录或文件,返回127表示命令没找到,返回126表示找到了命令但是无法执行,权限不够
6、定义有类型的变量
declare -i将变量看成整数 -r只读变量 -x标记变量通过环境导出,也就是说直接将变量定义为了环境变量
7、 交互式定义变量的值read 主要用于让用户去定义变量值
-p 提示信息:提示要输入的内容,可以任意定义 -n 字符数:定义要输入的字符串最长是多少个字符 -s 不显示 :主要用于密码设置,设置时不会显示,具体用法视情况而定
shell变量包括两种变量1.本shell私有的变量:通过赋值语句定义好的变量,可以通过如下方法定义shell变量
A1="1234"
delcare A2="2345"
2.用户的环境变量:通过export语法导出的shell私有变量,可以通过如下方法导出用户环境变量
A1="1234"
export A1 #先定义再导出
export A3="34"
导出成的用户环境变量可以在所有的shell中看到
env显示用户的环境变量;
set 显示当前shell的定义的私有变量,包括用户的环境变量,按变量名称排序;
export 显示当前导出成用户变量的shell变量,并显示变量的属性(是否只读),按变量名称排序;
declare 同set 一样,显示当前shell的定义的变量,包括用户的环境变量;
在shell脚本中变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字、字母下划线。
示例代码,读取用户输入到变量myvar,然后再输入。
#!/bin/bash
echo "input myvar"
read myvar
echo "myvar is $myvar"
效果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)