J'ai un fichier appelé "physics 1b.sh
".
En bash, si je tentebash: expansion des variables avec des espaces
x="physics 1b"
grep "string" "$x".sh
grep se plaint:
grep: physics 1b: No such file or directory.
Cependant, quand je fais
grep "string" physics\ 1b.sh
Il fonctionne très bien. Donc je suppose que le problème est quelque chose à voir avec la variable n'étant pas étendue pour inclure le backslash que grep a besoin de reconnaître l'espace. Comment puis-je faire fonctionner ça?
En utilisant bash 3.2, mac os 10.6.
Edit:
Peu importe, le problème était que x était réglé sur " physics 1b"
, mais quand je l'ai fait echo $x
de vérifier le contenu, bash coupèrent les espaces à l'avant donc je ne pouvais pas dire que c'était différent. La première façon ci-dessus fonctionne réellement.
note qu'il y a un espace en face de ''1b' physique' dans l'erreur de grep; Etes-vous sûr qu'il n'a pas mentionné .sh à la fin du nom de fichier? –
hmm, je ne suis pas sûr. – anoda9