Вот некоторые идеи, которые могли бы помочь Вам диагностировать это:
Вместо того, чтобы перенаправлять stanard к файл, передайте его по каналу к tee
и включайте свой файл. Надо надеяться, необходимо видеть вывод на stdout (а также иметь его, переходят к $OUTPUT_FILE). Например:
повторите "$count$filename" | $OUTPUT_FILE мишени
Используйте полный путь за $OUTPUT_FILE, не относительный путь так, чтобы это не зависело от того, где Вы вызываете сценарий. При использовании родственника, Вы не можете смотреть в правильном месте для выходного файла.
Продолжите вызывать сценарий с-x, таким образом, Вы видите точно, что продолжается, когда Вы выполняете его. Удостоверьтесь, что значение $OUTPUT_FILE установлено во время перенаправления.
Если Вы не стремитесь использовать sh, Вы могли бы попробовать свой сценарий в ударе. Вы могли затем использовать некоторые опции удара с помощью встроенного набора (см. help set
). При разработке сценария может быть полезно сделать 'набор-e', чтобы иметь выход сценария, если что-то возвращает ненулевой статус выхода. Вы, возможно, также должны были бы играть с состоянием pipefail. Таким образом помочь отладить Вас могло поместить это наверху Вашего сценария:
set -x
set -e
# Optionally:
set -o pipefail
На самом деле это не большая загадка, vncserver -list
перечисляет сеансы для вашего пользователя.
Способ перечисления сеансов для всех пользователей на самом деле заключается в том, чтобы делать то, что вы делаете: ps -ef | grep vnc