Используйте xvfb для автоматизации X-программы

Используя shift , вы можете сделать следующее:

num_args="$#"

for (( i = 1; i <= "$num_args"; i++ )); do
    echo "$1"
    shift
done

Здесь команда shift сдвигает каждый следующий аргумент из аргументов, переданных в сценарий, на значение $ 1 .

Например:

$ ./myscript one two three four five six
one
two
three
four
five
six

, при этом при первом запуске цикла $ 1 = "один" , затем во втором запуске цикла $ 1 = "два" , поэтому вперед, до последнего аргумента.


Изменить: Если вы хотите получить доступ к любому из аргументов вашего скрипта без порядка, например. используя 2-й и 4-й аргументы одновременно, один метод использует массивы bash следующим образом:

# Initialize the array 'myargs' with all script arguments
myargs=( "$@" )

for (( i = 0; i < "$#"; i++ )); do
    echo "${myargs[$i]}"
done

Здесь вы можете получить доступ к любому из ваших аргументов с любым указанным индексом i , используя форму "$ {myargs [$ i]} ".

4
20.03.2017, 12:18
0 ответов

Теги

Похожие вопросы