shell变量
发布时间:2020-12-16 01:38:18 所属栏目:安全 来源:网络整理
导读:shell变量 shell预定义变量 #!/bin/bashecho "#当前shell脚本的文件名:$0"echo "#shell脚本的第一个位置参数:$1"echo "#shell脚本的第二个位置参数:$2"echo "#shell脚本的第三个位置参数:$3"echo "#所有传递的位置参数是:$*"echo "#所有传递的位置参数
shell变量shell预定义变量#!/bin/bash echo "#当前shell脚本的文件名:$0" echo "#shell脚本的第一个位置参数:$1" echo "#shell脚本的第二个位置参数:$2" echo "#shell脚本的第三个位置参数:$3" echo "#所有传递的位置参数是:$*" echo "#所有传递的位置参数是:[email?protected]" echo "#总共传递的参数个数是:$#" echo "#当前shell运行的PID是:$$" echo "#上一个命令执行的返回结果:$?" # 结果为0,表示正常,否则异常 $* 和 [email?protected] 的区别: [[email?protected] tmp]# cat tt.sh #!/bin/bash test() { echo "未加引号,二者相同" echo $* echo [email?protected] echo "加上引号后对比" echo "------$*------" for N in "$*" do echo $N done echo "------[email?protected]" for N in "[email?protected]" do echo $N done } test 11 22 33 结果输出: [[email?protected] tmp]# ./tt.sh 未加引号,二者相同 11 22 33 11 22 33 加上引号后对比 ------$*------ 11 22 33 [email?protected] 11 22 33 总结: ? 不加引号:二者都是返回传入的参数 ? 加了引号:$* 把所有参数当做一个字符串整体,[email?protected] 把每一个传入的参数当做一个字符串返回 shell变量替换[[email?protected] opt]# url=www.baidu.com.cn [[email?protected] opt]# echo $url www.baidu.com.cn [[email?protected] opt]# echo ${url#*.} # 从头开始匹配,删除匹配到的第一个 baidu.com.cn [[email?protected] opt]# echo ${url##*.} # 从头开始匹配,删除匹配到的所有 cn [[email?protected] opt]# echo ${url%.*} # 从尾开始匹配,删除匹配到的第一个 www.baidu.com [[email?protected] opt]# echo ${url%%.*} # 从尾开始匹配,删除匹配到的所有 www [[email?protected] opt]# echo ${url/baidu/lol} # 替换变量,旧的替换为新的,只替换匹配到的第一个 www.lol.com.cn [[email?protected] opt]# echo ${url//c/C} # 替换变量,旧的替换为新的,替换匹配到的所有 www.baidu.Com.Cn [[email?protected] opt]# if语句中的文件比较条件成立,则执行&&后面的内容 # && 条件不成立,则执行 || 后面的 # || (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |