小编pre*_*ers的帖子

在参数扩展中转义特殊字符

file=/tmp/text/foo.txt
Run Code Online (Sandbox Code Playgroud)

现在我想/bar使用参数扩展语法在此目录结构中添加一个子文件夹。这条线的工作原理:

echo "${file%/*}/bar/${file##*/}"
Run Code Online (Sandbox Code Playgroud)

现在我想知道是否可以通过${parameter/%pat/string}语法使其更短。我想制作/pat,并将其替换为/bar/。但我不知道如何告诉系统哪个/是拍拍部分。我试图用 来逃避它\,但没有成功。我写的代码是:

echo "${f/%///bar/}"
Run Code Online (Sandbox Code Playgroud)

或者

echo "${f/%\///bar/}"
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。

zsh shell-script

5
推荐指数
1
解决办法
441
查看次数

标签 统计

shell-script ×1

zsh ×1