Я пытаюсь сообщить unix, чтобы распечатать аргументы командной строки, переданные сценарию Bourne Shell, но он не работает. Я получаю значение x в выражении echo, а не аргумент командной строки в нужном месте.Ссылка на аргумент командной строки UNIX
Это то, что я хочу:
./run абвг
б с d
это то, что я получаю:
Что ' продолжается? Я знаю, что UNIX запутано, как в то, что я ссылку в сценарии оболочки (переменный й или аргумент командной строки в позиции x'th». Как я могу пояснить, что я имею в виду?
#!/bin/sh
x=1
until [ $x -gt $# ]
do
echo $x
x=`expr $x + 1`
done
EDIT : Спасибо всем за ответы, но теперь у меня есть другой вопрос: что, если вы хотите начать подсчет не по первому аргументу, а на втором или третьем? Итак, что бы я сделал, чтобы сообщить UNIX обрабатывать элементы, начиная с второе положение, и игнорировать первый?
Хм ... хорошо. Но что, если я захочу начать печатать во втором аргументе? Поэтому вместо того, чтобы печатать b c d, он просто распечатывал b c d? – Waffles