2010-12-05 66 views
0

我有這個簡單的設置:爲什麼我的shell腳本創建一個名爲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 tar文件寫入到一個名爲pipe文件。

你想用實際管做的:

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

或者乾脆用

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

會在當前目錄中名爲 「管道」 tar文件。

相關問題