我有一种方案,其中存在一个脚本,可以根据条件删除文件。
当前脚本如下: 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
答案 0 :(得分:2)
我认为您只是想删除主脚本中某些位置的文件内容,而不是使其复杂化。因此,除了将rm/touch
配对之外,只需将null转储到文件中即可。
1 >file1
2 xxx
3 xxx
4 >file2
5 xxx
答案 1 :(得分:0)
您是否要让每个文件都符合条件?因此,您不必每次都键入文件名吗?如果是这样,您可以只拥有一个计数器或使用read命令将用户输入发送到变量,然后在if语句中使用它。