Ksh

ksh 變數聲明和循環

  • November 13, 2017

我需要工作並理解 ksh 腳本。變數聲明以我習慣的不同方式完成:

STA=${1:-blabla}

我真的不明白“1:-”代表什麼?是否可以使用此變數聲明進行循環,例如:

STA=${1:-blabla blabla2 blabla3}

${var:-x}表示“如果 var 未設置或為空,則將其替換為 x”。因此,這取決於您所說的“mak”是什麼意思

$$ ing $$一個循環”。 如果您通過拆分來創建一個循環$IFS,那麼是的,您可以使用它來為循環創建一個變數。但是,如果這是您想要做的,我建議您使用 ksh 數組:

if [ "$#" -eq 0 ]; then
 set -A sta blabla blabla2 blabla3 # ksh88/pdksh/mksh/ksh93
 sta=(blabla blabla2 blabla3)      # ksh93/mksh
else
 sta=("$@") # use the positional parameters if provided
fi

for x in "${sta[@]}"; do [...]

引用自:https://unix.stackexchange.com/questions/404225