如何创建作为特定命令结果的环境变量?具体来说,我想要一个环境变量 ($BWD),它是 $PWD 的基本名称
$ cd /home/devel/Autils/lib
$ echo $PWD
/home/devel/Autils/lib
$ # something here to assign BWD
$ echo $BWD
lib
Run Code Online (Sandbox Code Playgroud) 在 Android(使用mkshMirBSD Korn Shell)上,有一种特殊的字符串替换语法(称为“值替换”):
${|commands}
Run Code Online (Sandbox Code Playgroud)
替换结果不是收集命令的输出(如``和),而是从分隔符内分配的变量$()中获取。$REPLY它的特殊之处在于命令不在子 shell 中运行 - 它们在同一个 shell 中运行并且可以访问当前 shell 会话拥有的所有内容。
Debian 有一个mksh适用于 MirBSD Korn Shell 的软件包,其行为与 Android 完全相同。
哪些 shell 支持类似的语法,其中: