Я пытаюсь сказать unix распечатать аргументы командной строки, переданные сценарию Bourne Shell, но это не работает.Я получаю значение x в операторе echo, а не аргумент командной строки в нужном месте.
Это то, что я хочу:
. / Run abcd
abcd
вот что я получаю:
1 2 3 4
Что происходит?Я знаю, что UNIX сбит с толку из-за того, что я ссылаюсь в сценарии оболочки (переменная x или аргумент командной строки в позиции x). Как я могу уточнить, что я имею в виду?
#!/bin/sh
x=1
until [ $x -gt $# ]
do
echo $x
x=`expr $x + 1`
done
РЕДАКТИРОВАТЬ: Спасибо всем за ответы, но теперь у меня есть еще один вопрос: что, если вы хотите начать считать не с первого аргумента, а со второго или третьего? Итак, что бы я сделал, чтобы сказать UNIX для обработки элементовначиная со второй позиции и игнорируя первую?