bash:exec $ var>& 1不起作用

时间:2016-11-04 17:17:05

标签: bash shell sh io-redirection

如何在exec命令中使用变量?

如果我执行以下命令,则可以:

$ exec 3>&1

但是如果我执行以下操作,它会给我一个错误:

$ var=3; exec $var>&1
bash: exec: 3: not found

我想保存一个变量,因此当我需要在脚本中使用描述符3后,它不会被硬编码。

1 个答案:

答案 0 :(得分:2)

bash本身为您分配一个未使用的文件描述符,而不是使文件描述符可配置。

exec {var}>&1

然后,您可以稍后在其他重定向中使用$var

printf '%s' "Some message" >&$var