1

代码:

#! /bin/bash 

ALL="hello.log"
echo ${ALL%.*}

我知道 "hello" 会显示,但是如何理解"${ALL%.*}"?谢谢你。

4

3 回答 3

2

{ }用于扩展,%.*用于ALL从句号开始从回显中删除变量中包含的所有字符。

于 2013-01-24T08:30:53.753 回答
2

让我们分解一下;

${ALL%.*}
  • ${ }- 使用参数扩展
  • ALL- 变量的名称。
  • %- 从字符串末尾删除开头(RHS)(非贪婪)。
  • .*- 模式匹配表达式;一个文字点,后跟任何字符。
于 2013-01-24T08:48:05.513 回答
0

这是一个参数扩展。它记录在手册的相应部分中,您可以通过键入来查看man bash。搜索${parameter%word}

于 2013-01-24T08:35:14.073 回答