C'est littéral, ce {fd}
n'est pas un espace réservé. J'ai un script qui fait cela, et ne source rien, ni ne fait référence à {fd} nulle part ailleurs. Est-ce que c'est bash valide?
exec {fd}</dev/watchdog
bash
io-redirection
exec
Gregg Leventhal
la source
la source
REDIRECTIONS
. Cela ne vous saute pas vraiment aux yeux, car ils ne donnent pas d'exemple explicite./dev/watchdog
n'existe pas non plus sur Mac OS X; c'est un appareil spécifique à Linux.La forme:
fait le shell ouvrir le fichier
filename
pour lire et stocker le numéro de descripteur de fichier dans une variablevar
. Il n'y a pas d'espace autorisé entre{var}
et les opérateurs de redirection, et le numéro de descripteur de fichier sera supérieur ou égal10
.Cette fonction était d' origine à partir
ksh
( à partir ksh93r version en 2006), abash
copié beaucoup plus tard àbash-4.1-alpha
partir de 2010. azsh
également fait le changement plus tôt quebash
d'zsh 4.3.4
en 2007.la source
Ceci est expliqué dans la section du manuel Bash sur les redirections .
la source