shell变量
发布时间:2020-12-15 23:16:24 所属栏目:安全 来源:网络整理
导读:1 $ 0 当前的脚步名 2 $n 传递给脚本或者函数的第几个参数,$1第一个参数,$2第二个参数 3 $* 传递给脚本或者函数的所有参数 4 [email?protected] 传递给脚本或者函数的所有参数 5 * 与[email?protected]的区别,在双引号中,$* 以一个整体传入进去 6 $# 传入
1 $0 当前的脚步名 2 $n 传递给脚本或者函数的第几个参数,$1第一个参数,$2第二个参数 3 $* 传递给脚本或者函数的所有参数 4 [email?protected] 传递给脚本或者函数的所有参数 5 &* 与[email?protected]的区别,在双引号中,$*以一个整体传入进去 6 $# 传入参数的个数 7 $$ 当前shell的进程id 8 $?上一个命令的退出状态 vim test2.sh #!/bin/bash echo "file name: $0" echo "first parameter: $1" echo "first parameter: $2" echo "first paramerer: [email?protected]" echo "first parameret: $*" echo "first paramerer: $#" [[email?protected] code]# ./test2.sh hello world laiying file name: ./test2.sh first parameter: hello first parameter: world first paramerer: hello world laiying first parameret: hello world laiying first paramerer: 3 ?shell变量名定义规则 以字母,数字,下划线组成
必须以字母,或者下划线开头
不能以shell里面的关键字命名
使用变量,只要在变量前加$就可以调用变量 a = ‘hello‘ echo $a 规范,最好在变量名外面加{},这个是可选的,加花括号是为了帮助解释器识别变量的边界 shell中单引号和双引号的区别 在单引号中,如果包含了变量名,解释器会解析不了变量名或者命令,需要用反引引起来才能识别
在双引号中,可以识别变量或者命令
?read命令,使用read命令从stdin获取输入并赋值给PERSON,最后在stdout输出 vim test.sh #!/bin/bash echo "what is you name" read PERSON echo "hello,$PERSON" [[email?protected] code]# chmod +x test.sh [[email?protected] code]# ./test.sh what is you name jack hello,jack readonly只读变量,该命令可以将变量定义为只读变量,只读变量的值不能被改变 vim test.sh #!/bin/bash name="ying" readonly name name="xixing" [[email?protected] code]# ./test.sh ./test.sh:行4: name: 只读变量 unset删除变量 语法 unset varable_name [[email?protected] code]# name="jack" [[email?protected] code]# echo $name jack [[email?protected] code]# unset name [[email?protected] code]# echo $name 以上没有任何输出 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |