if [[ "$(basename "$file")" != "*.gz" ]]; then echo "The file is not a .gz file." fi 判断是错的
时间: 2023-07-19 15:26:59 浏览: 37
你是对的,这个判断条件是有问题的。因为引号包裹的字符串不会被解析为通配符,所以判断条件始终为真。正确的判断条件应该是:
```
if [[ "$(basename "$file")" != *.gz ]]; then
echo "The file is not a .gz file."
fi
```
这样就可以正确地判断basename后的文件名是否以.gz为后缀了。非常抱歉之前给你带来了困惑。
相关问题
if [[ "$(basename "$file")" != *.gz ]]; then echo "The file is not a .gz file." fi 不存在时报 sh: EAST-2023-05-10.log.gz: unknown operand
这个错误可能是因为你的if语句缺少了一个"then"关键字,导致Shell无法正确解析语句。你需要在if语句的最后加上一个"then"关键字,例如:
```
if [[ "$(basename "$file")" != *.gz ]]; then
echo "The file is not a .gz file."
fi
```
另外,你也可以尝试使用双引号将*.gz包裹起来,例如:
```
if [[ "$(basename "$file")" != "*.gz" ]]; then
echo "The file is not a .gz file."
fi
```
这样也可以避免一些潜在的语法错误。希望能帮到你。
#!/bin/bash backup_file=$(basename -- "$1") suffix="${backup_file##*.}" if [[ "$suffix" != "$backup_file" ]]; then backup_file="${backup_file%.*}" else suffix="" fi if [[ "$suffix" != "" ]]; then if [ -e "${backup_file}.$suffix" ]; then for i in {999..1}; do if [ -e "${backup_file}$i.$suffix" ]; then j=$((i+1)) cp "${backup_file}$i.$suffix" "${backup_file}$j.$suffix" fi done cp -r "${backup_file}.$suffix" "${backup_file}1.$suffix" fi else if [ -e "${backup_file}" ]; then for i in {999..1}; do if [ -e "${backup_file}$i" ]; then j=$((i+1)) cp "${backup_file}$i" "${backup_file}$j" fi done cp -r "${backup_file}" "${backup_file}1" fi fi exit 0
这是一个 Bash 脚本,主要用于备份文件。它的作用是将指定的文件备份为一个新文件,并且将原来的文件重命名为类似“filename.1”的形式,以便在需要恢复时使用。
脚本的实现过程如下:
1. 首先获取要备份的文件名,并且提取出文件的后缀名。
2. 如果文件有后缀名,那么就判断是否已经存在以“filename.i.suffix”的形式保存的备份文件。如果存在,就将它们全部向后移动一位,以便为新的备份文件腾出位置。最后,将原始文件的备份保存为“filename.1.suffix”。
3. 如果文件没有后缀名,则按照上述方式处理,但是备份文件的名称变为“filename.1”。
总之,这个脚本可以很方便地备份文件并且保留历史备份。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)