2010-12-05 2 views
0

Я это просто настроить:Почему мой сценарий оболочки создает файл с именем pipe?

pwd 
/home/abc/pipetest 

ls 
mydir pipetest.sh 

Сейчас я:

./pipetest.sh 

И тогда я получаю

ls 
    file.tar.bz2 mydir pipe pipetest.sh 

Мой вопрос: Почему файл с именем трубы получить создан ? Он содержит некоторые символы, которые нельзя было увидеть с помощью vi. Что происходит?

pipetest.sh содержит:

#!/bin/sh 

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

ответ

3

tar cf pipe $directory_name записывает архивный файл в файл с именем pipe.

То, что вы хотите сделать, это с использованием фактической трубы:

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

Или просто использовать

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

создает архивный файл с именем «трубы» в текущем каталоге.

Смежные вопросы