![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| проходящей с переменным Баш на Баш из Perl скрипта | arsidh | Shell программирование и сценарии | 10 | 06-04-2008 01:25 PM |
| Parse String с Переменной | racbern | Shell программирование и сценарии | 3 | 04-07-2008 01:04 PM |
| разбор переменной | mpang_ | Shell программирование и сценарии | 2 | 01-03-2007 07:31 AM |
| Баш ENV переменная, содержащая @ | Йогеш Sawant | Shell программирование и сценарии | 4 | 12-20-2006 06:51 AM |
| синтаксический анализ строки переменной | methos | Shell программирование и сценарии | 3 | 10-18-2005 05:18 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как вы разбора переменной в Bash скрипт?
У меня есть скрипт я использую на моем веб-сервер (Apache2). Я выбором Lighttpd и потребуется внести некоторые изменения.
Это то, что я использую на моем сервере Apache #! / BIN / Bash # Принимает 3 параметра: <Домен имя <имя пользователя> <XXXXXXXX> # Имя домена без WWW (просто domain.com) # Имя пользователя бы лучше, на 6 - 10 символов длиной # Лишь проверяет, если последний находится, и использует ее для MySQL # Пароль. Если нет - не создавать учетную запись MySQL если [ "$ 3"! \u003d ""], затем --- СНиП ---- useradd $ 2-м имя_файла \u003d / etc/apache2/sites-available / $ 2.www Эхо "<VirtualHost 10.10.10.10>"> $ имя_файла Эхо "ServerAdmin вебмастер @ $ 1">> $ имя_файла --- СНиП несколько ----- А теперь нужно разобрать первую переменную, чтобы добавить некоторые символы: Поэтому в основном: используя example.com # # Example.com # $ HTTP [ "принимающей"] \u003d ~ "(^ | \.) Например \. Ком $" ( server.document корней \u003d "/ Home / примере / public_html" server.errorlog \u003d "/ VAR / Журнал / lighttpd / пример-error.log" accesslog.filename \u003d "/ VAR / Журнал / lighttpd / пример-access.log" server.error-обработчик-404 \u003d "/ e404-example.php" ) Должны стать: Эхо "#">> $ имя_файла Эхо "# 1%">> $ имя_файла Эхо "#">> $ имя_файла Эхо "$ HTTP [\" хозяина \ "] \u003d ~ \" (^ | \.)<domain>\.<tld>$ \ "(">> $ Имя_файла --- Т.д. ---- Я думаю, что лучшим способом было бы разобрать, пока я не попал в период, и использовать в качестве первой части одной переменной, и последняя часть в качестве друга. Я надеюсь, что это имеет смысл. Любая помощь будет признателен. Алан |
|
||||
|
Так-то вроде этого? Код:
#!/bin/bash
domain=${1%.*}
tld=${1#*.}
cat <<HERE
#
# $domain.$tld
#
\$HTTP["host"] =~ "(^|\.)$domain\.$tld\$" {
server.document-root = "/home/$domain/public_html"
server.errorlog = "/var/log/lighttpd/${domain}-error.log"
accesslog.filename = "/var/log/lighttpd/${domain}-access.log"
server.error-handler-404 = "/e404-$domain.php"
}
HERE
Пример запуска: vnix $ / TMP / HTT example.com # # Example.com # $ HTTP [ "принимающей"] \u003d ~ "(^ | \.) Например \. Ком $" ( server.document корней \u003d "/ Home / примере / public_html" server.errorlog \u003d "/ VAR / Журнал / lighttpd / exampleerror.log" accesslog.filename \u003d "/ VAR / Журнал / lighttpd / пример-access.log" server.error-обработчик-404 \u003d "/ e404-example.php" ) Я надеюсь, что я получил все детали право. Вы не можете действительно "разобрать" переменных много, вы можете выполнять простые строки замен, как я, но в основном это всего лишь $ 1 $ 2 $ 3, и если вам нужно что-либо любитель, использовать некоторые внешние утилиты. |
|
||||
|
Спасибо за быстрый ответ! Чем больше я узнаю о BASH тем больше я понимаю, я должен научиться.
Я попытаюсь это прямо сейчас. |
|
||||
|
Это делает именно то, что мне было нужно. Опять же огромное спасибо!
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|