shell脚本 检查test.tar.gz存在,且检查 tar -tvf test.tar.gz > /dev/null 结果,如果是invalid tar magic 则显示文件无效
时间: 2024-03-05 11:53:54 浏览: 22
可以使用如下的shell脚本来检查test.tar.gz文件是否存在,并检查其是否是有效的tar压缩文件:
```
#!/bin/bash
if [ -f "test.tar.gz" ]; then
if tar -tvf test.tar.gz > /dev/null 2>&1; then
echo "test.tar.gz is a valid tar file."
else
echo "test.tar.gz is an invalid tar file."
fi
else
echo "test.tar.gz does not exist."
fi
```
这个脚本首先检查test.tar.gz文件是否存在,如果存在则执行tar -tvf命令来检查其是否是有效的tar压缩文件。如果命令执行成功,则说明文件是有效的,否则就会输出"test.tar.gz is an invalid tar file."。注意这里使用了重定向,将tar命令的输出重定向到/dev/null,这样就不会在屏幕上显示tar命令的输出了。
相关问题
shell脚本 检查 tar -tvf test.tar.gz > /dev/null 结果,如果是invalid tar magic 则显示文件无效
可以使用if语句和grep命令来实现该功能,具体的shell脚本代码如下:
```
if tar -tvf test.tar.gz > /dev/null 2>&1 | grep -q "invalid tar magic"; then
echo "文件无效"
else
echo "文件有效"
fi
```
该脚本首先执行tar命令来尝试解压test.tar.gz文件,并将输出结果重定向到/dev/null中,这样就不会在屏幕上输出任何信息。然后使用2>&1将标准错误输出重定向到标准输出,这样可以将标准错误信息一起过滤掉。接着使用grep命令来查找"invalid tar magic"字符串,如果找到了该字符串,则说明文件无效。最后使用if语句来判断文件是否有效并输出相应的提示信息。
Linux为系统定义一个环境变量,此变量名为ctar,能够执行查看/var/tmp/vsftpd.tar压缩包中的内容。
您可以通过以下命令在Linux系统中定义一个名为ctar的环境变量,并使其能够查看/var/tmp/vsftpd.tar压缩包中的内容:
```
export ctar='tar -tvf /var/tmp/vsftpd.tar'
```
这条命令将创建一个名为ctar的环境变量,并将其设置为 “tar -tvf /var/tmp/vsftpd.tar” 命令。当您在终端中输入 $ctar 时,系统将执行该命令并显示/var/tmp/vsftpd.tar压缩包中的内容。