-2

大家,我在 bash 编程中有一个问题,就是我不知道 bash 脚本是什么意思:

${parameter:-word}
${parameter:=word}
${parameter:?word}
${parameter:+word}
${parameter:offset}
${parameter:offset:length}
${!prefix*}
${#parameter}
${parameter#word}
${parameter##word}
${parameter%word}
${parameter%%word}
${parameter/pattern/string}
${parameter//pattern/string}

这个用法,谢谢你回答我。

4

2 回答 2

0

如果您只是打开一个终端窗口并输入man bash,您将能够在 下找到所有这些Parameter Expansion

事实上,由于这些正是手册页包含它们的形式(使用parameterand word)并且按照您拥有它们的相同顺序,我很惊讶您还不知道这一点。

一个例子是${parameter:-word}

使用默认值。如果parameter未设置或为空,word则替换 的扩展。否则,parameter替换 的值。

所以,对于这种情况,如果它被设置,${xyzzy:-plugh}会给你一个值${xyzzy},否则你会得到文字"plugh"

我不会全部介绍,bash手册页会详细解释。“教人钓鱼……”等等。

于 2012-08-24T06:04:54.000 回答
0

参数扩展

参数扩展格式如下:

${expression}

其中表达式由匹配“}”之前的所有字符组成。在确定匹配的“}”时,不应检查由反斜杠或带引号的字符串转义的任何“}”以及嵌入式算术扩展、命令替换和变量扩展中的字符。

参数扩展的最简单形式是:

${parameter}

详情见: http:
//pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html

于 2012-08-24T06:07:50.647 回答