##*/在UNIX Shell Scripting中使用

ps2*_*262 3 unix shell

任何人都可以详细说明##*/如何在UNIX Shell脚本中工作.我已经看到它在Korn Shell中使用.它专门用于删除文件的扩展名.

例如func_write_app_log"o删除状态文件$ {CIE_STATUS_FILE ##*/}"

这里假设文件是​​CIE_STATUS_FILE.DAT,然后##*/将显示CIE_STATUS_FILE

Mar*_*ers 5

这也适用于Bash和描述在这里:

$ {串##串}

从$ string前面删除$ substring的最长匹配.

*是一个通配符,意味着匹配任何东西.您的示例将从文件中删除路径,而不是扩展名.

$ bazfile='/foo/bar/baz.txt'
$ echo ${bazfile##*/}
baz.txt

要删除您要使用的扩展程序%:

$ {字符串%子}

从$ string后面删除$ substring的最短匹配.

$ echo ${bazfile%.*}
/foo/bar/baz