Как изменить значение переменной с помощью bash-скрипта? - PullRequest
1 голос
/ 03 марта 2012

Я использую скрипт bash для отправки программы на сервер, и у меня возникают проблемы с пониманием, как это работает.Мне дали полный рабочий сценарий, но у меня возникли проблемы с его пониманием.

Взгляните на этот сегмент:

echo "Sequential,Number"

echo -n "Size"
for i in $(seq 1 1 10)
do
    for j in $(seq 500 500 10000)
    do
        echo -n "$j,"
        #Pass the image size to the program
        /home/a.out $j $j
    done
done

Я пытаюсь определить, сколько времени потребовалось для вычисления изображенияв зависимости от его размера.Этот скрипт запускает a.out с различными размерами изображения (номера пикселей от 500, 1000, 1500, 2000, ... до 10000, следовательно, 500 500 10000), измеряя время 10 раз для каждого размера изображения.

Я не понимаю, как этот размер изображения от 500 до 10000 изменяется в a.out.Там написано "#Pass размер изображения в программу" и "/home/a.out $ j $ j".Как программа получает эту переменную?Какой код мне нужен для того, чтобы a.out получил этот размер изображения?

1 Ответ

0 голосов
/ 03 марта 2012

a.out не будет смотреть на $j - он будет смотреть на аргументы командной строки.

Я забыл, как Bash это делает, но я думаю, вы захотите проверить $1 и $2. В C или C ++ (который я предполагаю, что исходная программа; компиляторам нравится называть исполняемый файл a.out, если вы не указываете имя), они будут argv[1] и argv[2].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...