2010-12-05 9 views
0

Ich habe diese einfache eingerichtet:Warum erstellt mein Shell-Skript eine Datei namens pipe?

pwd 
/home/abc/pipetest 

ls 
mydir pipetest.sh 

Jetzt mache ich:

./pipetest.sh 

Und dann bekomme ich

ls 
    file.tar.bz2 mydir pipe pipetest.sh 

Meine Frage ist: Warum hat die Datei Named Pipe erstellt erhalten ? Es enthält einige Zeichen, die mit vi nicht zu sehen waren. Was ist los?

pipetest.sh enthält:

#!/bin/sh 

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

Antwort

3

tar cf pipe $directory_name schreibt die TAR-Datei in eine Datei namens pipe.

Was Sie tun möchten, ist das eigentliche Rohr mit:

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

Oder einfach

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

erstellt eine tar Datei mit dem Namen "Rohr" im aktuellen Verzeichnis.

Verwandte Themen