相关疑难解决方法(0)

如何创建作为命令输出的环境变量

如何创建作为特定命令结果的环境变量?具体来说,我想要一个环境变量 ($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)

alias environment-variables

5
推荐指数
2
解决办法
9567
查看次数

哪些 shell 支持像 MirBSD Korn Shell 这样的“值替换”?

在 Android(使用mkshMirBSD Korn Shell)上,有一种特殊的字符串替换语法(称为“值替换”):

${|commands}
Run Code Online (Sandbox Code Playgroud)

替换结果不是收集命令的输出(如``和),而是从分隔符内分配的变量$()中获取。$REPLY它的特殊之处在于命令不在子 shell 中运行 - 它们在同一个 shell 中运行并且可以访问当前 shell 会话拥有的所有内容。

Debian 有一个mksh适用于 MirBSD Korn Shell 的软件包,其行为与 Android 完全相同。

哪些 shell 支持类似的语法,其中:

  • 命令在与父级相同的 shell 中运行
  • 替换结果是从文件描述符以外的其他方式获取的
    • 应该很容易注意到读取输出或管道算作 FD

shell bash ksh zsh mksh

5
推荐指数
2
解决办法
401
查看次数

标签 统计

alias ×1

bash ×1

environment-variables ×1

ksh ×1

mksh ×1

shell ×1

zsh ×1