установлен Cygwin, писал мой сценарий, успешно прошел испытания. Однако, когда я иду, чтобы запустить его в качестве запланированной задачи в системе Windows не удается. Дальнейшее изучение показывает, что не все программы доступны при выполнении сценария таким образом. Например
Запуск Mintty и ввод в ls будет перечислять содержимое моего каталога.
Бегущий Баш.exe из Windows CLI поместит меня в приглашение "BASH", но ls не является распознанной командой.
Я пробовал стандарт
c:cygwinbinbash.exe -l -c "/home/user/logoff.sh"
а также
c:cygwinbinmintty.exe /bin/bash -l -c "/home/user/logoff.sh"
я добавил команду echo, которая выводит в текстовый файл, и это работает, поэтому я знаю, скрипт вызывается. Проблема, по-видимому, либо с различными программами, которые недоступны, либо ей не нравится трубопровод, который я делаю.
скрипт, который я пытаюсь запустить.
for user in user1 user2 user3 ;
do
id=$(query user $user 2>> /dev/null | awk '{ print }' | sed -e '/ID/ d')
if [[ "$id" =~ ^[1-9][0-9]?$ ]]; then
logoff $id
echo "$user was logged off" >> logg_off.log
fi
done
какие идеи?
EDIT
- я жир пальцами имя файла в расписании задача, из-за которой не удалось выполнить.
- все еще не уверен, почему скрипт не будет завершен. Я удалил всех, кроме одного пользователя из списка, и все работает так, как ожидалось. Придется ждать до вечера, чтобы проверить, могу ли я выйти в один проход.