第一次写博客,从今天开始打卡,每日一章,伴随我的学习足迹

学习云计算已经很久了,有机会到一所学校教云计算专业,这个机会给了我再学习一遍的机会,所以就让这些成为的痕迹。
***

Bash中的参数扩展

参数是一个存储数值的实体,并由名称/数字和 特定字符所引用
&这里被名称引用的参数称作变量
&被数字引用的参数称作位置参数
&被特定符号引用的参数具有特殊的含义,被称作bash的特殊内部变量 引用

看到这里如果还是一脸懵逼,别慌,接下来我们慢慢看:

参数扩展

基本的参数扩展

以下$ 代表命令提示符(linux命令行中 代表普通用户提示符) 或者代表引用变量符号

$PARAMETER
${变量名}  
//还是用汉语好理解一些,哈哈,对于英语半桶水的我来说

如果参数名后面还连接着其他字符,那么使用${}括起来是最好的选择

# word=car
#echo  $words

#echo  ${word}s
car

上面的例子已经可以很好的验证,大括号的作用。
————————————————————————————
间接参数扩展
对于连续赋值的变量,如果想调取第一个变量名称显示的是第二各变量的实际值,用

#${!变量名}
//多了一个叹号

什么意思呢?A=B ,B=C,想调取A的值,显示C,即让A=C

#var1=test
#test=“this is a indirect”
#echo  ${!var1}
this is a indirect
#echo  ${var1}
test

大小写修改
^ 将参数值改为大写
, 将参数值改为小写(那是个英语的逗号)
举个栗子:

#for  file   in   *.txt   ;do
>mv  "$file"  "${file,,}"
>done
//将当前目录下所有以.txt结尾的文件名,全部变为小写
//两个,,将所有变为小写,一个只改变第一个
//^ 同上,只不过是变成大写

变量名扩展

#echo  ${!BASH*}
//列出以字符串BASH开头的所有变量名

字符串移除
#号 从左往右移除一个
##号 从左往右全部移除,只保留最后一个
%号 从右往左移除一个
%%号 从右往左全部移除,只保留第一个
//可以配合通配符使用,需指定移除的字符串的分割符(空格也是一个分隔符)

[root@xieqc 桌面]# mystring="this  is  used for  removing  string"
[root@xieqc 桌面]# echo  ${mystring#* }
is used for removing string
[root@xieqc 桌面]# echo  ${mystring##* }
string
[root@xieqc 桌面]# echo  ${mystring% *}
this is used for removing
[root@xieqc 桌面]# echo  ${mystring%% *}
this
//参照代码执行结果,再回去琢磨一下定义,就懂啦

好了,未完待续,下一章继续讨论更多的参数扩展。

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/88550574