![从脚本中删除匹配的文件](https://linux22.com/image/127330/%E4%BB%8E%E8%84%9A%E6%9C%AC%E4%B8%AD%E5%88%A0%E9%99%A4%E5%8C%B9%E9%85%8D%E7%9A%84%E6%96%87%E4%BB%B6.png)
无法拼凑出为什么会发生这种情况。在这个文件夹中/usr/local/nginx/html
我想删除所有 或sky21.ts
, sky22.ts
, ... 到sky29.ts
。如果我直接在文件夹中运行此命令
find /usr/local/nginx/html -type f -name 'sky2*.ts' -delete
它可以工作并且只删除匹配的ts
文件,但是当从其中的脚本运行时,/home/ubuntu
它会删除sky2.m3u8
文件和stream.png
缩略图。
到底是怎么回事?同一个命令可以在脚本中返回其他内容吗?我要疯了吗?
这是我的脚本
#!/bin/bash
if [ "$1" = "run" ]; then
source $HOME/.bash_aliases
find /usr/local/nginx/html -type f -name 'sky2*.ts' -print > someFile.txt
# while [ 1 ]; do
#ffmpeg -v verbose -i rtmp://ip:1935/live1/sky-2 -c copy -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 /usr/local/nginx/html/sky2.m3u8
# done
else
killall -9 ffmpeg > /dev/null 2>&1
sleep 5s;
screen -ls | grep sky2 > /dev/null 2>&1
if [ "$?" = "1" ]; then
screen -mdS sky2 $0 run
fi
fi
这是 find 的输出-print
/usr/local/nginx/html/sky24.ts
/usr/local/nginx/html/sky21.ts
/usr/local/nginx/html/sky23.ts
/usr/local/nginx/html/sky28.ts
/usr/local/nginx/html/sky27.ts
/usr/local/nginx/html/sky22.ts
/usr/local/nginx/html/sky25.ts
/usr/local/nginx/html/sky26.ts
/usr/local/nginx/html/sky29.ts