1 votes

Pourquoi je ne peux pas faire "echo '#!/bin/sh" dans Freebsd?

Pourquoi ne puis-je pas faire echo '#!/bin/sh sur Freebsd ? Cela génère juste :

/bin/sh: Événement introuvable

J'ai essayé toutes les combinaisons de guillemets, mais rien n'y fait. Je n'ai que Freebsd 8.4 à portée de main.

4voto

Richard Smith Points 1015

Malgré le message d'erreur pointant du doigt /bin/sh, le problème est que votre shell utilise ! pour insérer l'historique dans la ligne de commande, et les guillemets n'échappent pas à la magie de !. Vous devez donc échapper explicitement le ! avec un \.

Par exemple :

echo #\!/bin/sh

0voto

Abbas Points 3737

Vous pouvez temporairement désactiver les expansions d'historique pendant l'exécution de cette commande :

$ echo !foo
bash: !foo: événement introuvable
$ set +H; echo !foo; set -H
!foo

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X