繁体   English   中英

Linux bash脚本文件串联

[英]Linux bash script file concatenation

嗨,在我的脚本中,我将两个文件串联成一个名为output.txt的新文件。 无法检查是否确实存在output.txt文件,然后无法打印“连接成功”消息。 串联似乎可以正常工作并创建一个新文件。

cat $file1 $file2 >> output.txt     

file3="$output.txt"                #incorrect?

if [ -e $file3 ]                             
then
    echo "concatenation of files successful"
fi

应该:

file3="output.txt"
cat $file1 $file2 >> $file3

if [ -f $file3 ]; then
    echo "concatenation of files successful"
fi
file3="output.txt"
cat $file1 $file2 >> $file3

if [ $? == 0 ]; then
    echo "concatenation of files successful"
fi

检查文件是否存在并不意味着文件成功串联。 这意味着该文件存在。

考虑到:

cat $file1 $file2(missing) >> $file3
cat $file1(missing) $file2 >> $file3

将使$file3存在。

使用$?检查上一个操作的退出值$? 表示整个操作成功完成。

另外,除非您特别希望将>>附加到现有文件,否则将始终附加。 因此,您的文件在第一次操作后将始终存在。

单行


cat $file1 $file2 >> output.txt && echo 'Success' || echo 'Failed'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM