如何知道文件是否已在bash中删除和创建?

时间:2019-02-22 22:08:21

标签: linux bash if-statement

我有一种方案,其中存在一个脚本,可以根据条件删除文件。

当前脚本如下: rem.sh

If [ -e file1 ]; then
    rm -f file1
elif [ -e file2 ]; then
     rm -f file2
 fi

我还有另一个脚本叫rem.sh

main.sh

1          rem.sh #should remove file1
2         touch file1
3          xxx
4          xxx
5         xxx
6         rem.sh #should remove file2 only
7         touch file2

如果我运行main.sh,它将仅删除file1并创建file1。有没有办法删除和创建file2等?

编辑:我想用某种条件替换[-e文件],该条件在第二次调用rem.sh时会删除file2

2 个答案:

答案 0 :(得分:2)

我认为您只是想删除主脚本中某些位置的文件内容,而不是使其复杂化。因此,除了将rm/touch配对之外,只需将null转储到文件中即可。

1   >file1
2   xxx
3   xxx
4   >file2
5   xxx

答案 1 :(得分:0)

您是否要让每个文件都符合条件?因此,您不必每次都键入文件名吗?如果是这样,您可以只拥有一个计数器或使用read命令将用户输入发送到变量,然后在if语句中使用它。