forциклічні петлі на позиційних параметрах, якщо жодна in value1 value2...частина не вказана у всіх оболонках Борна.
Це вже було в оболонці Bourne з кінця 70-х, хоча в оболонці Bourne це потрібно буде опустити ;(ви також можете використовувати for i do(за винятком деяких старих версій попелу, де вам потрібен новий рядок до початку do)).
Дивіться, яка мета ключового слова "робити" в Bash для циклів? для отримання додаткової інформації, включаючи більше дивних варіантів.
Виконуємо:
for i
do
something with "$i"
done
є гарною практикою. Це трохи більш портативний / надійний, ніж зазвичай еквівалент:
for i in "$@"; do
something with "$i"
done
для яких оболонка Bourne, ksh88 має деякі проблеми за певних умов (наприклад, коли $#в деяких версіях оболонки Bourne дорівнює 0 (або ${1+"$@"}замість того, що "$@"може $IFSобійтися) або коли не містить символу пробілу в Bourne та ksh88), або коли nounsetопція включена , і $#0 в деяких версіях деяких оболонок , включаючи bash( знову ${1+"$@"}як обхідний ).