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'。 –