2015-04-15 5 views
2

Попытка использовать одиночный цикл while для сбора переменных от пользователя и запуска последовательных команд «at». Singular at command работает, пытаясь объединить ошибки без ошибок. В этом конкретном случае вывод показывает, что задания созданы, однако первое действие никогда не завершается.Bash - Выполнение нескольких команд в последовательности из цикла while с использованием ввода из файла

#!/bin/bash 
PATH=$PATH:/usr/openv/netbackup/bin:/usr/openv/netbackup/bin/admincmd:/usr/openv/volmgr/bin 
read -p "Enter the time and date to deactivate the policies (format - 24hr Month Date example 0400 May 09) : " offtime 
read -p "Enter the time and date to reactivate the policies (format - 24hr Month Date example 0400 May 09) : " ontime 
while read -r i; 
     do 
       bpplinfo $i -modify -inactive | at $offtime; 
       bpplinfo $i -modify -active | at $ontime 
done < /tmp/policies.txt 
+0

Благодаря Кодзиро, я просто фиксируя этот формат кода ... и ты меня опередил – Wyvern1123

+1

Если 'bpplinfo' печатает команду, которую вы хотите выполнить, вы должны передать его как текст на стандартный ввод, не запустить его. Попробуйте 'echo 'bpplinfo $ i -modify -inactive" | в $ offtime' или 'at $ offtime <<<" bpplinfo $ i ... "' – Kevin

+0

bpplinfo - это команда, ее путь находится в начале скрипта. Он работает, если я запускаю одну строку, bpplinfo $ i -inactive | в $ offtime, но не при добавлении второго. Это было бы проще, чем запуск 2 скриптов, один для деактивации, один для активации. – Wyvern1123

ответ

2

Команда echo для отправки строки на, отлично работает.

#!/bin/bash 
PATH=$PATH:/usr/openv/netbackup/bin:/usr/openv/netbackup/bin/admincmd:/usr/openv/volmgr/bin 
read -p "Enter the time and date to deactivate the policies (format - 24hr Month Date example 0400 May 09) : " offtime 
read -p "Enter the time and date to reactivate the policies (format - 24hr Month Date example 0400 May 09) : " ontime 
while read -r i; 
do 
    echo "bpplinfo $i -modify -inactive" | at $offtime; 
    echo "bpplinfo $i -modify -active" | at $ontime 
done < /tmp/policies.txt 

 Смежные вопросы

  • Нет связанных вопросов^_^