gpt4 book ai didi

linux - Bash 字符串替换,查找父路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:33 24 4
gpt4 key购买 nike

我想用 bash 替换字符串,它会从当前运行程序的路径中找到父路径。

所以我尝试删除所有内容,从最后一个“/”到正则表达式结尾:

echo ${0#/.*#}

但它不起作用,请不要让我使用外部程序,最好用 bash 获取所有内容......

谢谢!

最佳答案

So i tried to removing everything , from the last '/' to the end with regular expression:

> echo ${0#/.*#}

那不是正则表达式。此外,您不需要散列字符(删除前缀),而是 % 符号(删除后缀)。在任何一种情况下,第二个散列字符都不应存在(这/不是/正则表达式。请参阅 bash 手册中的“参数扩展”一章)。

你可以使用

echo ${a%/*}

打印目录(但如果“$a”不包含斜杠,这会中断),或者

echo ${a##*/}

打印文件(注意双 ## 删除最长的匹配前缀)(但如果“$a”本身是一个目录并且您只需要最后一个组件,这将中断)。

最好使用已有的命令

dirname "$a"

basename "$a"

分别

关于linux - Bash 字符串替换,查找父路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8334947/

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