我找到了一个答案here,用于计算传递给BASH
脚本的参数数量的问题。我对行: ${1?"Usage: $0 ARGUMENT"}
感兴趣,如果没有给出参数,它会抛出警告。
现在我想使用Usage
调用一个使用函数: ${1?"Usage: $0 ARGUMENT"}
,但我不知道该怎么做。我尝试了: ${1?Usage}
,BASH
在这一行引发了错误。有些人可以建议如何使用它来调用函数。
示例脚本如下,
#!/bin/bash
function Usage() {
echo "Usage: $0 [-q] [-d]"
echo ""
echo "where:"
echo " -q: Query info"
echo " -d: delete info"
echo ""
}
# Exit if no argument is passed in
: ${1?Usage}
while getopts "qd" opt; do
case $opt in
q)
echo "Query info"
;;
d)
echo "Delete info"
;;
*)
Usage;
exit 1
;;
esac
done
答案 0 :(得分:3)
这个怎么样?
foreach (...) {
$datapump->ingest($data);
}
$datapump->endImportSession();
// reindex now!
foreach (['catalog_product_price', 'catalog_url', 'catalog_product_flat'] as $indexCode) {
$process = Mage::getModel('index/indexer')->getProcessByCode($indexCode);
$process->reindexAll();
}
无论如何,我认为这更具可读性:
function Usage() {
echo "Usage: $0 [-q] [-d]"
echo ""
echo "where:"
echo " -q: Query info"
echo " -d: delete info"
echo ""
}
# Exit if no argument is passed in
: ${1?"$(Usage)"}
另一个想法是像这样处理它:
if [ $# -lt 1 ] ; then
Usage
fi
答案 1 :(得分:0)