Вы не говорите, какую оболочку вы используете. Если вы используете sh / bash, попробуйте
sh -x script_name
, чтобы запустить ваш скрипт в режиме подробного / отладочного режима. Это выгрузит все команды, которые вы выполняете, значения переменных и т. Д. Вы не хотите делать это нормально, поскольку это обеспечит тонну вывода, но полезно выяснить, что происходит.
Как отмечено в комментариях, вы можете добавить этот флаг к вашему вызову #!/bin/bash
в вашего скрипта.
Они продемонстрируют «eval» и «set», чтобы делать то, что вы хотите:
::::::::::::::
a.sh
::::::::::::::
#!/bin/sh
clear
i=-20
while [ ${i} -lt 20 ]; do
echo "Nice value is $i"
cmd="nice -n $i ./app1"
echo ${cmd}
eval ${cmd}
i=`expr ${i} + 1`
done
::::::::::::::
b.sh
::::::::::::::
#!/bin/sh
clear
i=-20
while [ ${i} -lt 20 ]; do
echo "Nice value is $i"
set -x
nice -n $i ./app1
set +x
i=`expr ${i} + 1`
done
простой способ:
for i in -20 -19 -18 -17 -16 -15 -14 ... 18 19
do
echo "Nice value is $i"
echo "nice -n $i ./app1"
nice -n $i ./app1
done
let I=-20
while [ $I -lt 20 ]; do
echo "Nice value is $I"
nice -n $I ./app1
let I=$I+1
done