如何在exec命令中使用变量?
如果我执行以下命令,则可以:
$ exec 3>&1
但是如果我执行以下操作,它会给我一个错误:
$ var=3; exec $var>&1
bash: exec: 3: not found
我想保存一个变量,因此当我需要在脚本中使用描述符3后,它不会被硬编码。
答案 0 :(得分:2)
让bash
本身为您分配一个未使用的文件描述符,而不是使文件描述符可配置。
exec {var}>&1
然后,您可以稍后在其他重定向中使用$var
。
printf '%s' "Some message" >&$var