Подробный вывод сценария оболочки

22
задан toolkit 5 June 2009 в 14:58
поделиться

4 ответа

Вы не говорите, какую оболочку вы используете. Если вы используете sh / bash, попробуйте

sh -x script_name

, чтобы запустить ваш скрипт в режиме подробного / отладочного режима. Это выгрузит все команды, которые вы выполняете, значения переменных и т. Д. Вы не хотите делать это нормально, поскольку это обеспечит тонну вывода, но полезно выяснить, что происходит.

Как отмечено в комментариях, вы можете добавить этот флаг к вашему вызову #!/bin/bash в вашего скрипта.

57
ответ дан Brian Agnew 29 November 2019 в 03:50
поделиться

Они продемонстрируют «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
1
ответ дан Bert F 29 November 2019 в 03:50
поделиться

простой способ:

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
3
ответ дан 29 November 2019 в 03:50
поделиться
let I=-20
while [ $I -lt 20 ]; do
  echo "Nice value is $I"
  nice -n $I ./app1
  let I=$I+1
done
0
ответ дан 29 November 2019 в 03:50
поделиться
Другие вопросы по тегам:

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