LINUX.ORG.RU

[bash] копипаста


0

1

не работает скрипт http://en.gentoo-wiki.com/wiki/Squashed_Portage_Tree#init.d.2Fsquash_portage

extensa linux # /etc/init.d/squash_portage start
squash_portage      | * Caching service dependencies ...
/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then'
/etc/init.d/squash_portage: line 36: `	if ! [ -x /usr/bin/mksquashfs ] ; then '                                                                                    [ ok ]
squash_portage      |/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then'
squash_portage      |/etc/init.d/squash_portage: line 36: `	if ! [ -x /usr/bin/mksquashfs ] ; then '
squash_portage      | * ERROR: squash_portage failed to start
squashfs-tools установлен, но дело, очевидно, не в нем
модуль squashfs подгружен
в чем проблема?

★★

Ответ на: комментарий от adriano32
extensa linux # ls -la /bin/sh
lrwxrwxrwx 1 root root 4 Июн  5 20:51 /bin/sh -> bash
extensa linux # ls -la /sbin/runscript
lrwxrwxrwx 1 root root 8 Июн 20 22:13 /sbin/runscript -> /sbin/rc
fads ★★ ()
Ответ на: комментарий от adriano32
extensa linux # /etc/init.d/squash_portage start
squash_portage      | * Caching service dependencies ...
/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then'
/etc/init.d/squash_portage: line 36: `	if ! [ -x /usr/bin/mksquashfs ] ; then '                                                                                    [ ok ]
squash_portage      |/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then
squash_portage      |/etc/init.d/squash_portage: line 36: `	if ! [ -x /usr/bin/mksquashfs ] ; then '
squash_portage      | * ERROR: squash_portage failed to start

ничего не изменилось, ошибка там же

fads ★★ ()

Попробуй поменять местами этот if со следующим.

// И за такое надо расстреливать:

grep -s aufs /proc/filesystems

Потому что оно словит и aufs, и aufs2, и ещё какой-нибудь waufs, который когда-нибудь потом появится. Надо так:

grep -s $'\taufs$' /proc/filesystems

gentoo_root ★★★★★ ()
Ответ на: комментарий от adriano32
extensa linux # /etc/init.d/squash_portage start
squash_portage      | * Caching service dependencies ...
/etc/init.d/squash_portage: line 37: syntax error near unexpected token `then'
/etc/init.d/squash_portage: line 37: `	then '                                                                                                                      [ ok ]
squash_portage      |/etc/init.d/squash_portage: line 37: syntax error near unexpected token `then'
squash_portage      |/etc/init.d/squash_portage: line 37: `	then '
squash_portage      | * ERROR: squash_portage failed to start
fads ★★ ()
Ответ на: комментарий от gentoo_root
extensa linux # /etc/init.d/squash_portage start
squash_portage      | * Caching service dependencies ...
/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then'
/etc/init.d/squash_portage: line 36: `	if ! [ -w /dev/loop0 ] ; then'                                                                                              [ ok ]
squash_portage      |/etc/init.d/squash_portage: line 36: syntax error near unexpected token `then'
squash_portage      |/etc/init.d/squash_portage: line 36: `	if ! [ -w /dev/loop0 ] ; then'
squash_portage      | * ERROR: squash_portage failed to start
fads ★★ ()

черт, я кажется понял - при копипасте вставляются еще и лишние непечатаемые символы; сейчас проверю

fads ★★ ()
Ответ на: комментарий от fads

Выложи файлом куда-нибудь то, что ты сейчас долбаешь, вдруг где-то у иебя косяк, а по оригинальному скрипту в гентухэндбуке не видно его.

adriano32 ★★★ ()
Ответ на: комментарий от fads

>выложи, пожалуйста, файлом этот squash_portage

Я его уже удалил. Но я скачал твой по ссылке (http://ompldr.org/vOThpbg), он тоже у меня работает.

gentoo_root ★★★★★ ()
Ответ на: комментарий от fads

Это я понял по вышеприведенному ls

Что собой представляет «пускалка инит-скриптов /sbin/rc» вопрос. Оно точно bash запускает для интерпретации скриптов?

sdio ★★★★★ ()
Ответ на: комментарий от sdio

runscript is basically an interpreter for shell scripts which provide an easy interface to the often complex system commands and daemons.

я не знаю, что еще можно пускать, кроме bash. все другие инит-скрипты (с /sbin/runscript) работают, а этот ни в какую

fads ★★ ()
Ответ на: комментарий от fads

Тогда без копипасты напиши

vi test_rc

#!/sbin/runscript

if [ -x /bin/true ]; then
    echo "/bin/true is true executable"
else
    echo "/bin/true is false"
fi

chmod +x test_rc
./test_rc

sdio ★★★★★ ()

РЕШЕНО

перепечатал руками блок check_support, все заработало

fads ★★ ()
Ответ на: комментарий от fads

тогда у тебя там точно есть «неправильные» символы в теле скрипта

sdio ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.