嘿伙计们几乎都说过它,但是我将两个变量回应到一个BASH循环中以启动它,并且(据说)使用case
能够识别它们的位置并运行类似的但是分开(第二次丢失-k标志)wget
语句。我点击git checkout
,但似乎我没有进入我的案件。我如何解决这个问题,或者是否有更好的方法来解决这个问题,因为我只是放弃-k标志?
#!/bin/bash
echo -e "render\nstorage" | while read x; do
git checkout "$x"
case $x in
$1)
wget "${WGDOMAIN}" -r -l INF -k -p \
--no-check-certificate \
--strict-comments \
--warc-header="Operator: Web Archiver" \
--warc-file="$WGDOMAIN" \
--warc-dedup="${WGDOMAIN}.cdx" \
--warc-cdx=on 2> session.log
;;
$2)
wget "${WGDOMAIN}" -r -l INF -p \
--no-check-certificate \
--strict-comments \
--warc-header="Operator: Web Archiver" \
--warc-file="$WGDOMAIN" \
--warc-dedup="${WGDOMAIN}.cdx" \
--warc-cdx=on 2> session.log
;;
$1|$2)
git add . && git ci -m"Archived: ${DATE}"
git push origin "$x"
;;
esac
done
答案 0 :(得分:1)
在没有位置参数的情况下调用脚本将不会在case语句中执行任何操作,因为$ 1和$ 2是空的。除此之外,永远不会达到最后一个案例选项$ 1 | $ 2,因为之前的选项将匹配。也许你应该从案件中得到那些命令。