2010-12-05 68 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文件。

相关问题