Shell 什么是“${x%%*}”;用sh是什么意思?

Shell 什么是“${x%%*}”;用sh是什么意思?,shell,sh,Shell,Sh,我刚刚在makefile中看到“$${x%%*}”,这在sh中表示“${x%%*}”。 为什么是这样写的 另外,如何在Google中搜索${x%%*},${x%%*}用最左边的空格替换x变量的值,并删除右边的所有内容 看 对于第二个问题,我没有答案。${x%%*}是删除$x变量中除第一个单词以外的所有内容的好方法。也就是说,给定一个文本XXX YYY ZZZ,该语法将删除第一个空格后的所有内容 一些例子: $ x="aaa abbb" $ echo ${x%% *} aaa $ x="aaa

我刚刚在makefile中看到“$${x%%*}”,这在sh中表示“${x%%*}”。 为什么是这样写的


另外,如何在Google中搜索
${x%%*}
${x%%*}
用最左边的空格替换
x
变量的值,并删除右边的所有内容


对于第二个问题,我没有答案。

${x%%*}
是删除
$x
变量中除第一个单词以外的所有内容的好方法。也就是说,给定一个文本
XXX YYY ZZZ
,该语法将删除第一个空格后的所有内容

一些例子:

$ x="aaa abbb"
$ echo ${x%% *}
aaa

$ x="aaa abbb bccc defasdfs"
$ echo ${x%% *}
aaa
这相当于:

$ x="aaa abbb bccc defasdfs"
$ echo $x | awk '{print $1}'
aaa
为了确保清楚,让我们再举一个例子:

$ x="aaa abbb_bccc_defasdfs"
$ echo ${x%%_*}
aaa abbb
我们查找第一个
\uu
字符,并从该点一直删除到最后

要查看更多这些有趣的命令,可以查看


关于谷歌的问题,是的,这些字符不能通过他们的搜索引擎进行搜索。相反,我建议您使用


例如,这里显示了一个有价值的结果。

Google“bash手册页”Google“如何使用Google bash表达式”:“所有CS问题都可以通过另一种间接方式解决”另请参见@tripleee!事实上我问了这个问题:)所以用这个参考更新。
$ x="aaa abbb_bccc_defasdfs"
$ echo ${x%%_*}
aaa abbb