gpt4 book ai didi

bash - 如果不存在则添加后缀 (bash)

转载 作者:行者123 更新时间:2023-12-04 03:06:36 25 4
gpt4 key购买 nike

如果字符串不存在,我正在尝试找到将后缀添加到字符串(在 bash 中)的最佳方法。

我首先想到了这个:

case "$R" in
*.git ) ;;
* ) R=$R.git ;;
esac

哪个有效。但是很麻烦。

然后想到了这个:
R=${R%.git}.git

这是好的,紧凑和整洁的。

还有其他选择吗?我应该注意什么问题?

最佳答案

[[ $r == *.git ]] || r+=.git

将是我的首选方法。
shopt -s extglob
case $r in !(*.git)) r+=.git; esac

可能会更好 case方法。如果确定 R,您的第二种方法可能已经足够好了。已设置且不为空。其他可能性包括:
${r:+'declare'} r="${r%.git}.git"
r=${r%.git}.git ${r:+'true'}

对于 POSIX sh,您的任何一种方法都可以,但您应该考虑不使用全大写的变量名。

关于bash - 如果不存在则添加后缀 (bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11029526/

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