Linux Shell参数替换

简介:

Bash中的 来说,大括号是可选的,即 A {A}代表同一个参数。

${}带冒号的有下面几种表达式:

${parameter:-word}

如果parameter为null或者未设置,整个参数替换表达式值为word

${parameter:=word}

如果parameter为null或者未设置,整个参数替换表达式值为word,并且parameter参数值设置为word

${parameter:?word}

如果parameter为null或者未设置,则打印出错误信息。否则,整个参数替换表达式值为$parameter

${parameter:+word}

如果parameter不为null或者未设置,则整个参数替换表达式值为word

${parameter:offset}

${parameter:offset:length}

parameter的值的子字符串。

可以理解下下面这几个例子:

Image(2)

${}带!有下面几种表达式:

${!prefix*}

${!prefix@}

将带有前缀为prefix的参数名打印出来

${!name[@]}

${!name[*]}

这个是针对name数组的,打印出来name数组有哪些下标

可以理解下下面这几个例子:

Image(3)

${}带正则匹配的几种表达式:

${parameter#word}

${parameter##word}

从头开始扫描word,将匹配word正则表达的字符过滤掉

#为最短匹配,##为最长匹配

${parameter%word}

${parameter%%word}

从尾开始扫描word,将匹配word正则表达式的字符过滤掉

%为最短匹配,%%为最长匹配

可以理解下面这几个例子:

Image(4)

${parameter/pattern/string}

${parameter//pattern/string}

将parameter对应值的pattern字符串替换成为string字符串

/表示只替换一次

//表示全部替换

可以理解下面这几个例子:

Image(5)

目录
相关文章
|
6月前
|
Unix Shell
Linux--自定义shell
Linux--自定义shell
|
5月前
|
Shell Linux
linux shell 脚本中变量截取
linux shell 脚本中变量截取
110 0
|
Shell Linux
Linux 如何给shell脚本传参数
name=中1"中1"中1为系统提供的位置参数,代表程序的名称,0代表程序的名称,[0代表程序的名称,[1/$2/…]从1开始为传递的参数。
78 0
|
Shell Linux
LINUX SHELL参数连接
LINUX SHELL参数连接
84 0
|
Shell Linux
linux shell之字符串的比较
linux shell之字符串的比较
222 0
|
Shell 测试技术 Linux
Linux Shell : Test命令参数解析
格式: test conditions test -n string : string 不为空 test -z string : string 为空 test int1 -eq int2  : int1 == int 2test int1 -ne int2  : int1 != int2 te...
990 0
|
Shell Linux Perl
Linux 下第一个shell脚本
shell脚本可以高效的完成一件事情,和批处理一个意思。学习写第一个shell脚本。 今天开始写一个判断能否ping通ip的脚本 1.首先我们看看ping通与不同之间的区别 可以ping通的情况,如下图所示: 不可以ping通的情况,如下图所示: 通和不通区别的地方有很多,随便找一个不同点就可以判断其还是不同 2.
1100 0
下一篇
无影云桌面