Я пошел бы для:
FILE=$(basename $1 .jpeg).jpg
Второй параметр к базовому имени является суффиксом, который будет удален из имени файла (см. man basename
)
(Я не пытаюсь быть педантичным, я просто не знаю, сколько Вы знаете или не знаете, таким образом, я в основном braindumping здесь),
Прежде всего просто знайте, что Red Hat выбирает странный материал, чтобы установить и включить по умолчанию. Например, это - или RHEL5 или RHEL6, который установит avahi и позволит ему запуститься при начальной загрузке. Я думаю, что обе версии устанавливают и включают чашки почти для всех профилей установки, которые можно выбрать. RHEL6 не устанавливает man
по умолчанию, и т.д., и т.д.
На RHEL существует три способа, которыми можно справиться с сервисами:
/etc/rc.d
или /etc/rcX.d
chkconfig
(смоделированный после инструмента IRIX того же имени) setup
команда, обеспеченная setuptool
пакет (который может или не может быть установлен в зависимости от профиля, который был выбран во время начальной установки).Больше деталей о каждом:
Ручное управление:
RHEL/System V последовательностей запуска таким образом:
/etc/rc.sysinit
работал, который получает большинство критических частей операционной системы, таких как критические файловые системы на месте.
init
затем изучает /etc/rcX.d
(где X для runlevel это загружается в), и выполняет все файлы/символьные ссылки, содержавшие там (в алфавитном порядке).
Если их имя начинается и S
это дает сценарий start
как argv[1]
/$1
Если их имя начинается с a K
это останавливается (или kills
) сервис.
Конвенция имеет его, что зависимости обрабатываются путем изменения числа после K
или S
который имеет эффект того, чтобы просто менять его алфавитное положение.
Это выполняет то, что находится в /etc/rc.local
Сценарии практической эксплуатации будут в /etc/rc.d/init.d
(который является также symlinked к на /etc/init.d
). Если Вы хотите, чтобы сервис запустился на уровне выполнения 3 (сеть, но никакой GUI), Вы могли сделать это:
# cd /etc/rc3.d
# ln -s /etc/init.d/myService S99myService
Используя chkconfig
Цель chkconfig
должен в основном автоматизировать вышеупомянутый процесс для Вас. Это имеет недостаток требования, чтобы initscripts имели определенный заголовок, прежде чем можно будет справиться с сервисом с chkconfig
. Например, это - запуск сетевого сервиса:
#! /bin/bash
#
# network Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO
Это включает chkconfig
и фигура, какое число это должно установить/изменить, чтобы заставить зависимости удаваться правильно. Вы теряете способность к заявке на изменение, но из-за вышеупомянутого она почти никогда на самом деле имеет значение.
chkconfig
легче и откровенно, что я использую большую часть времени.
Можно проверить, через который сервисы настроены в какой уровни выполнения chkconfig --list
Например:
[root@ditirlns01 ~]# chkconfig --list | head
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
arptables_jf 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:off 4:on 5:on 6:off
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
autofs 0:off 1:off 2:off 3:off 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:off 4:on 5:on 6:off
avahi-dnsconfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
capi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Или проверьте состояние конкретных сервисов:
[root@ditirlns01 ~]# chkconfig --list auditd
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Можно включить сервис через chkconfig <serviceName> on
Продолжение примера выше:
[root@ditirlns01 ~]# chkconfig auditd on
[root@ditirlns01 ~]# chkconfig --list auditd
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Как видете chkconfig
включите auditd
сервис для уровней выполнения 3 - 5.
Если Вы не хотели это Вы, может использовать --levels
опция установить определенные уровни выполнения для включения:
[root@ditirlns01 ~]# chkconfig auditd off
[root@ditirlns01 ~]# chkconfig auditd on --levels=3
[root@ditirlns01 ~]# chkconfig --list auditd
auditd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
С setuptool
setup
последнее повторение управления системой, разработанного для создания общих задач администрирования немного легче. Это проложило бы себе путь, если Red Hat установит все, должен был сделать его так. Но начиная с RHEL6 они выделили setuptool
функциональность среди нескольких пакетов (я предполагаю для создания этого более всесторонним, не забивая меню).
Это - довольно очевидная находящаяся в ncurses обертка вокруг chkconfig
за исключением того, что это не позволяет Вам выбрать конкретные уровни выполнения:
Не очень для высказывания об этом кроме того.
Сообщите мне, ответило ли это Вам вопрос.