这是我的剧本
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="smyacc@hotmail.com">
<input type="hidden" name="lc" value="GB">
<input type="hidden" name="item_name" value="listing-purchase">
<input type="hidden" name="amount" value="2.99">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="shipping" value="0.00">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
应该很简单,删除包含 R079
的所有文件#!/bin/bash
for file in *.ats; do
if [["$file" =~ _R079_]]; then
rm -f $file
fi
done
问题出在哪里?
答案 0 :(得分:4)
问题是[[
之后和]]
之前没有空格,因此您可以使用其中任何一个:
[[ $file =~ _R079_ ]]
或者使用glob:
[[ $file == *_R079_* ]]
但是,如果您只是删除文件,则无需使用循环,可以使用:
rm *_R079_*.ats
请注意,如果存在大量匹配文件,则上述rm
命令可能会出错。在这种情况下,请使用find
:
find . -maxdepth 1 -name '*_R079_*.ats' -delete