LinuxForum.Fans
Тема

Нужна вопощь в написании bash скрипта

Автор: koka3000 10 сообщений 1919 просмотров
#149970

Доброе утро.
Понадобилась ваша помощь.
Нужно написать bash скрипт, что бы он вот что делал:
1. Запустить java программу. java -jar game.java
2. Ждать 5 часов.
3. Через пять часов вырубать программу.
4. Включать его.
И так в цыкле.

Буду очень благодарен если кто-то поможет.

#149975

Вам нужено чтобы написали готовый скрипт или вам помогли написать?
Если первое то тема неправильно названа, если второе, то покажите хотя бы то, что сами уже написали.

#149977

Тема неправильно написана.

#149997
koka3000 написал:
1. Запустить java программу. java -jar game.java
2. Ждать 5 часов.
3. Через пять часов вырубать программу.
4. Включать его.
И так в цыкле.

1) вы уже написали почти...

text
(
 java ... &
)

2) sleep 5h
3)
(
java ... &
echo "&!" /tmp/z.pid
)
sleep 5h
kill `cat /tmp/z.pid`
rm /tmp/z.pid
4)

text
while true; do
тело
done

всё готово, пишите. я за деньги только пишу неосиляторам.

#151573

Вот что пишет:

[console]
&! /tmp/z.pid
cat: /tmp/z.pid: Нет такого файла или каталога
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
rm: невозможно удалить `/tmp/z.pid': Нет такого файла или каталога
[/console]

#151577

Создал z.pid файл и на него права сделал.
Теперь вот что пишет:

[console]kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec][/console]

и z.pid - пустой.

#151578

koka3000, вы голову подключили?

text

#/bin/bash

# тут ВАМ надо что-то написать

# это я вам кусок скрипта бесплатно написал: ( #вместо ... чё-то надо вписать. ВАМ надо, а не мне! java ... & echo "&!" >/tmp/z.pid ) sleep 5h kill `cat /tmp/z.pid` rm /tmp/z.pid

# И тут тоже что-то

эх... для совсем ленивых

Показать

Hint:
http://money.yandex.ru/
41001666004238

намёк понятен?
#151582

Я и переделал, но дело не в этом.

[console]echo "&!" /tmp/z.pid # вот как вы первый раз написали. Тогда [/console]
Вот что выводит:
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
и файл z.pid пустой


[console]echo "&!" >/tmp/z.pid # вот как вы сейчас написали:[/console]
Тогда выводит:
[console]./bash: строка 8: kill: &!: аргументы должны быть идентификаторами процесса или задачи[/console]
И в файле просто написано:
[console]&![/console]

#151584
koka3000 написал:
# вот как вы первый раз написали. Тогда

ну вы подумайте, ЧТО это такое...

koka3000 написал:
аргументы должны быть идентификаторами процесса или задачи

ещё-бы. $! в интерактивном режиме значит "посл. параметр прошлой команды", а в неинтерактивном (в скрипте) значит "PID прошлого процесса". вам скрипт помогать писать, или вы команды сами пишете?

#151585
koka3000 написал:
Вот что выводит:
kill: использование: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
и файл z.pid пустой

дык в этом файле должен быть PID, который ждёт kill.

Войдите или зарегистрируйтесь, чтобы ответить.