Поправте скриптик, пожалуйста

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
xoomer
Сообщения: 201

Поправте скриптик, пожалуйста

Сообщение xoomer »

Соб-сно, хочу, чтобы когда логинюсь с init 3-го уровня запускался IceWM.
Вот мой ~/.bashrc

Код: Выделить всё

test -s ~/.alias && . ~/.alias || true
if [ -e /tmp/.X0-lock]
then
    icewm
else
    xinit
    icewm
fi


Первая строчка была, добавил "if" и далее...
btw: объясните, пожалуйста, ещё, что делает "-s" ? Буду благодарен. :)
btw2: как ещё сделать, чтобы при запуске IceWM не было видно окно X-Term-a ?
Far behind the skies...
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Поправте скриптик, пожалуйста

Сообщение watashiwa_daredeska »

Мда... Такой кошмар я вижу впервые.

xoomer писал(а):
23.01.2010 16:37
Соб-сно, хочу, чтобы когда логинюсь с init 3-го уровня запускался IceWM.
Не вижу проверки уровня в скрипте.

xoomer писал(а):
23.01.2010 16:37
Вот мой ~/.bashrc
bash не запускает ~/.bashrc при логине. Он запускает ~/.bash_profile. Обычно вызов ~/.bashrc прописывают в ~/.bash_profile явно. ~/.bashrc загружается при каждом вызове bash, даже при исполнении скриптов (кроме случая login shell).

xoomer писал(а):
23.01.2010 16:37
btw: объясните, пожалуйста, ещё, что делает "-s" ? Буду благодарен.
man bash
xoomer писал(а):
23.01.2010 16:37
btw2: как ещё сделать, чтобы при запуске IceWM не было видно окно X-Term-a ?
man xinit, особенно про ~/.xinitrc

Могу также порекомендовать:
man Xsession, man xdm, man gdm, man kdm
Спасибо сказали:
Аватара пользователя
xoomer
Сообщения: 201

Re: Поправте скриптик, пожалуйста

Сообщение xoomer »

Спасибо! Запускается.
Насчёт init 3 - я имел ввиду без проверки уровня - т.к. подразумевается, что я уже на этом уровне. :)
Far behind the skies...
Спасибо сказали:
smaharbA
Сообщения: 229
ОС: Windows Vista

Re: Поправте скриптик, пожалуйста

Сообщение smaharbA »

а где в man bash найти ключи -s и -e утилиты "test" (ну или "[") ?
Я конечно далек от мысли...(с)
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Поправте скриптик, пожалуйста

Сообщение watashiwa_daredeska »

smaharbA писал(а):
23.01.2010 18:06
а где в man bash найти ключи -s и -e утилиты "test"
/^CONDITIONAL EXPRESSIONS
Только не утилиты, а built-in command, про утилиту man test
Спасибо сказали:
smaharbA
Сообщения: 229
ОС: Windows Vista

Re: Поправте скриптик, пожалуйста

Сообщение smaharbA »

watashiwa_daredeska писал(а):
23.01.2010 19:55
smaharbA писал(а):
23.01.2010 18:06
а где в man bash найти ключи -s и -e утилиты "test"
/^CONDITIONAL EXPRESSIONS
Только не утилиты, а built-in command, про утилиту man test


а это - ls -l `which [` - что ?
(за подсказку по манбашу спасибо, хоть и не всегда есть в мане это, да и логичнее быть в мане по утилите)
Я конечно далек от мысли...(с)
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo

Re: Поправте скриптик, пожалуйста

Сообщение /dev/random »

smaharbA писал(а):
23.01.2010 20:05
а это - ls -l `which [` - что ?
(за подсказку по манбашу спасибо, хоть и не всегда есть в мане это, да и логичнее быть в мане по утилите)

Есть утилита "[" (она же "test"). А есть одноимённая встроенная команда баша. При работе в баше запускается последняя. В остальных случаях - первая. Так что если вы пользуетесь башем, то более корректная для вас информация именно в man bash.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поправте скриптик, пожалуйста

Сообщение drBatty »

/dev/random писал(а):
23.01.2010 20:37
Есть утилита "[" (она же "test")

$ ls -l /bin/{[,test}

-rwxr-xr-x 1 root root 35620 2008-09-21 07:18 /bin/[* -rwxr-xr-x 1 root root 23932 2008-09-21 07:18 /bin/test*
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Поправте скриптик, пожалуйста

Сообщение Black »

По-моему проще будет так:

~/.bash_profile

[ -z $DISPLAY ] && startx

А icewm и всё прочее - в ~/.xinitrc
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5403
ОС: Gentoo

Re: Поправте скриптик, пожалуйста

Сообщение /dev/random »

drBatty писал(а):
23.01.2010 21:35

$ ls -l /bin/{[,test}

-rwxr-xr-x 1 root root 35620 2008-09-21 07:18 /bin/[* -rwxr-xr-x 1 root root 23932 2008-09-21 07:18 /bin/test*

http://git.savannah.gnu.org/cgit/coreutils...tree/src/test.c
Просмотрите, что делает макрос LBRACKET.
Вся разница между test и [ в том, что [ требует закрывающей скобки и не принимает опцию --help.
Спасибо сказали:
Аватара пользователя
xoomer
Сообщения: 201

Re: Поправте скриптик, пожалуйста

Сообщение xoomer »

Black писал(а):
23.01.2010 22:23
[ -z $DISPLAY ] && startx

А зачем это в .bash_profile? Я просто в .xinitrc добавил icewm :)
Far behind the skies...
Спасибо сказали: