2010-12-05 51 views
0

Je cette simple mise en place:Pourquoi mon script shell crée-t-il un fichier nommé pipe?

pwd 
/home/abc/pipetest 

ls 
mydir pipetest.sh 

Maintenant, je fais:

./pipetest.sh 

Et puis je reçois

ls 
    file.tar.bz2 mydir pipe pipetest.sh 

Ma question est la suivante: Pourquoi le fichier pipe nommé pu être créé ? Il contient des caractères qui ne pouvaient pas être vus en utilisant vi. Que se passe-t-il?

pipetest.sh contient:

#!/bin/sh 

directory_name=mydir 
tar cf pipe $directory_name 
bzip2 -c <pipe> file.tar.bz2 

Répondre

3

tar cf pipe $directory_name écrit le fichier tar dans un fichier nommé pipe.

Qu'est-ce que vous voulez faire est d'utiliser la conduite réelle:

tar c $directory_name | bzip2 > file.tar.bz2 

Ou simplement utiliser

tar cjf file.tar.bz2 $directory_name 
0
tar -cf pipe 

crée un fichier tar nommé "pipe" dans le répertoire courant.