我有一個bash文件,其中我傳遞參數,像bash腳本不分配標誌變量
bash foo.sh update -f /var/ -v true
所以according to this answer我的腳本看起來應該像
if [[ "$1" == "update" ]]; then
updater
fi
function updater(){
verbose='false'
fflag=''
error=''
while getopts 'f:v' flag; do
case "${flag}" in
f) fflag="${OPTARG}";;
v) verbose='false';;
*) error="bflag";;
esac
done
echo $fflag
}
我使用的第一個腳本一個入口點,因爲我有其他功能,做其他事情,但由於某種原因,上面的腳本甚至沒有顯示的價值$fflag
我試圖移出getopts循環出功能,無濟於事
您是否正在上面運行此腳本。它實際上無法運行! – Inian
移動零件'if [[「$ 1」==「update」]];然後 更新程序 函數調用 – Inian