小编san*_*omo的帖子

Shellscript 错误处理

我正在编写一个非常简单的 shell,它删除给定文件夹的文件,在这种情况下,所有 .csv 文件都位于该文件夹中。

代码如下所示:

#!/bin/bash
# Used to clean folder

MinVal=0
Files=$(ls -1 *.csv | wc -l)


if [ $Files -gt $MinVal ];then
        rm *.csv
        echo -e "\e[31;43m***** DONE *****\e[0m"    

 else       
        echo -e "\e[31;43mThere is no valid file to delete, please check\e[0m"      


fi
Run Code Online (Sandbox Code Playgroud)

shell 脚本按预期工作,但是当您执行 shell 并且文件夹中没有 .csv 文件时,终端会显示以下内容:

ls: cannot access *.csv: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当然,它还显示以下else消息:

There is no valid file to delete, please check
Run Code Online (Sandbox Code Playgroud)

有什么方法可以避免ls: cannot access *.csv: No such file or …

linux shell bash centos shell-script

2
推荐指数
2
解决办法
1402
查看次数

标签 统计

bash ×1

centos ×1

linux ×1

shell ×1

shell-script ×1