-1
我想運行一個Shell腳本,但遇到了問題。我想運行某些代碼集,當我提供參數和剩餘應該運行,如果我不通過任何參數。 我想與ARGS運行部分:在Linux中沒有命令行參數的情況下運行Shell腳本
#!/bin/bash
while [[ "$1" != "" ]]; do
case "$1" in
-c) cat /proc/cpuinfo | grep cores
;;
-d) fdisk -l | grep Disk | awk '{print $1,$2,$3,$4}' #fdisk -l 2> /dev/null | grep Disk | grep -v identifier
;;
esac
shift
done
,這部分沒有任何ARGS
while [[ $# -eq 0 ]]; do
echo PART 2 $#
cat /proc/cpuinfo | grep cores
fdisk -l | grep Disk | awk '{print $1,$2,$3,$4}' #fdisk -l 2> /dev/null | grep Disk | grep -v identifier
break
done
我相信問題是與循環條件,但我不能明白什麼?
感謝您的回覆......您能解釋爲什麼我的邏輯失敗了嗎? – Ismail
假設發佈的代碼是完整的腳本,那麼明顯在第一部分'##'後總是爲零,或者是因爲它從一開始就是零,或者因爲你有'shift'所有參數,所以第二部分無條件運行。 – AlexP
感謝您的解釋。 – Ismail