Dans la plupart des coquillages - sh, bash, csh ..., - le $NAME la syntaxe désigne les variables (similaires à %NAME% dans Windows cmd.exe); généralement des variables d’environnement, mais plusieurs d’entre elles sont internes au shell.
(Notez cependant que cette convention s’applique parfois aussi aux instructions écrites, où vous devrait normalement remplacer mentalement les valeurs lors de la lecture du texte.)
De même, certains langages de programmation - PHP, Perl - utilisent également $name pour les noms de variables.
Dans votre exemple $PWD est une variable d'environnement automatique qui s'étend au chemin du répertoire actuel:
> cd /etc/modprobe.d
> echo $PWD
/etc/modprobe.d
Donc, pour enregistrer un fichier "dans $ PWD", vous n'avez rien de spécial à faire. en essayant d'ouvrir un nom de fichier nu sans chemin déjà utilise le répertoire en cours.
Si vous aviez reçu une variable personnalisée différente, vous devriez utiliser getenv("NAME") pour obtenir sa valeur dans un programme C ++.
Vous pouvez utiliser env pour voir toutes les variables d'environnement, mais vérifiez également la documentation du shell pour en trouver quelques-unes inhabituelles.