gpt4 book ai didi

unix - ##*/在 UNIX Shell 脚本中使用

转载 作者:行者123 更新时间:2023-12-01 04:45:35 27 4
gpt4 key购买 nike

谁能详细说明 ##*/在 UNIX Shell 脚本中的工作原理。我已经看到它在 Korn Shell 中的使用。专门用于去除文件扩展名。

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

这里假设文件是​​CIE_STATUS_FILE.DAT,那么##*/会显示CIE_STATUS_FILE

最佳答案

这在 Bash 中也有效,描述为 here :

${string##substring}

Deletes longest match of $substring from front of $string.

* 是一个通配符,表示匹配任何内容。您的示例从文件中删除了路径,而不是扩展名。

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

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

${string%substring}

Deletes shortest match of $substring from back of $string.

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

关于unix - ##*/在 UNIX Shell 脚本中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com