0
如何在exec命令中使用变量?
如果我做下面的命令,它的工作原理:
$ exec 3>&1
但如果我执行下面,它给了我一个错误:
$ var=3; exec $var>&1
bash: exec: 3: not found
我想在一个变量来保存如此当我需要在脚本中使用描述符3时,它不会被硬编码。
如何在exec命令中使用变量?
如果我做下面的命令,它的工作原理:
$ exec 3>&1
但如果我执行下面,它给了我一个错误:
$ var=3; exec $var>&1
bash: exec: 3: not found
我想在一个变量来保存如此当我需要在脚本中使用描述符3时,它不会被硬编码。
而不是使文件描述符可配置,让bash
本身为您分配一个未使用的文件描述符。
exec {var}>&1
然后,您可以稍后在其他重定向中使用$var
。
printf '%s' "Some message" >&$var
哇!这太好了,谢谢:) –
你可能不得不'EVAL EXEC是$ var>&1' –
FWIW'VAR = 3''$ EXEC VAR>&1'工作在'zsh'。 –