相关疑难解决方法(0)

什么是间接扩张?$ {!var*}是什么意思?

我正在读" Bash初学者指南 ".它说:

如果第一个字符PARAMETER是感叹号,则Bash使用由其余部分形成的变量的值作为变量PARAMETER的名称; 然后展开此变量,并将该值用于替换的其余部分,而不是其PARAMETER自身的值.这被称为间接扩张.

给出的例子是:

franky ~> echo ${!N*}
NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
Run Code Online (Sandbox Code Playgroud)

我在这里不太明白:

从其余部分形成的变量的值 PARAMETER

由于PARAMETER是刚刚!N*的话

其余的 PARAMETER

只是N*.怎么会形成一个变量?Bash在那里搜索了所有可能的命令吗?

bash indirection

70
推荐指数
3
解决办法
3万
查看次数

在Bash中连接变量

愚蠢的问题毫无疑问,我正在尝试将变量添加到变量的中间,所以例如在PHP中我会这样做:

$mystring = $arg1 . '12' . $arg2 . 'endoffile';
Run Code Online (Sandbox Code Playgroud)

所以输出可能是20121201endoffile,我如何在linux bash脚本中实现相同的功能呢?

bash shell string-concatenation

45
推荐指数
1
解决办法
11万
查看次数

标签 统计

bash ×2

indirection ×1

shell ×1

string-concatenation ×1