2010-11-15 12 views
0

ma variable path1 contient la valeur /home/folder. comment puis-je créer un nouveau fichier nommé foo en utilisant ce nom de chemin absolu?Sous Unix, comment créer un fichier dans un chemin absolu

path1="/home/folder" 
echo "hello web" > $path1/foo 

mais ce code me donne une erreur. Quelqu'un peut-il s'il vous plaît me dire comment puis-je créer ce fichier foo dans un endroit spécifique, en utilisant un nom de chemin?

+1

Quelle erreur obtenez-vous? – eumiro

+1

Quelle erreur? Probablement le répertoire n'existe pas ou vous n'avez pas d'autorisation en écriture. – chris

+0

quand je tape dans ls -l, il montre que chaque dossier a des permissions rw. erreur que je reçois est "bash:/home/Téléchargements/foo: Aucun fichier ou répertoire". mais si je tape $ HOME/folder/foo au lieu de/home/folder/foo ça marche. –

Répondre

4

En bash vous devez écrire:

path1="/home/folder"; echo "hello web" > $path1/foo 

Ou:

export path1="/home/folder" 
echo "hello web" > $path1/foo 

notation que vous avez utilisé ne fonctionne que dans le script bash.

+0

Je ne pense pas que la première version fonctionnera, sauf si vous avez un point-virgule avant l'écho. Tel qu'il est, path1 sera exporté vers echo, mais il ne sera pas développé avec la valeur correcte dans la redirection. – thkala