小编yab*_*joe的帖子

使用参数扩展来修改另一个扩展的输出

我正在尝试使用 Bash 参数扩展来修改命令替换或其他参数扩展的输出。

以下嵌套扩展在 Zsh 中工作得很好;但在 Bash 中导致“错误替换”错误:

${${PWD##*/}//trunk/latest}
Run Code Online (Sandbox Code Playgroud)

或者

${$(basename $PWD)//trunk/latest}
Run Code Online (Sandbox Code Playgroud)

输出应该是最后一个文件夹$PWD,取而代之的是latest,当我的当前目录是trunk

所以/home/user/trunk应该成为latest

是否有 Bash 等效项允许在不依赖变量或管道的情况下进行链式扩展?还是 Bash 扩展只允许输入是字符串或普通变量?

bash

10
推荐指数
1
解决办法
1414
查看次数

标签 统计

bash ×1