小编vin*_*nes的帖子

如何在每个命令的基础上正确分配临时 Bash 变量?

Bash 似乎在临时的、每个命令的变量分配方面表现得不可预测,特别是IFS.

我经常IFSread命令一起分配一个临时值。我想使用相同的机制来定制输出,但目前使用函数或子shell 来包含变量赋值。

$ while IFS=, read -a A; do
>   echo "${A[@]:1:2}"                # control (undesirable)
> done <<< alpha,bravo,charlie
bravo charlie

$ while IFS=, read -a A; do
>   IFS=, echo "${A[*]:1:2}"          # desired solution (failure)
> done <<< alpha,bravo,charlie
bravo charlie

$ perlJoin(){ local IFS="$1"; shift; echo "$*"; }
$ while IFS=, read -a A; do
>   perlJoin , "${A[@]:1:2}"          # function with local variable (success)
> done <<< alpha,bravo,charlie
bravo,charlie …
Run Code Online (Sandbox Code Playgroud)

bash scope ifs

4
推荐指数
2
解决办法
2029
查看次数

标签 统计

bash ×1

ifs ×1

scope ×1