2013-09-11 2 views
0

Я использую GNU bash, версия 3.2.51 (1) -release (sparc-sun-solaris2.10) в Solaris и пытается написать сценарий bash для настройки/компиляции sudo после выполнения нескольких других предметов. По сути, я хочу, чтобы операторы запускали этот скрипт, чтобы они могли установить sudo из источника, просто выполнив этот сценарий и не беспокоясь о запуске ./configure с параметрами и make и т. Д.сценарий bash для запуска ./configure from sudo

Кажется, что он работает вплоть до config.status LIBTOOL части, а затем он умирает с:

: creating pathnames.h config.status: pathnames.h is unchanged config.status: executing libtool commands 
./install_sudo.sh: line 55: configure:: command not found 

install_sudo.sh мой сценарий, который в основном только Судо разархивировать и основывает путь. Затем он запускает функцию ConfigureSudo:

вот сценарий теперь не работает с вышеуказанной ошибкой:

#!/usr/bin/bash 
Unpack(){ 
SRCA="sudo-1.8.7.tar.gz" 
SRCB="sudo-1.8.7.tar" 

if [ -f $PWD/$SRCA ]; then 
echo "sudo source appears to be here!" 
`/usr/bin/gunzip "$SRCA"` 
`/usr/bin/tar xf "$SRCB"` 
    else 
echo "Check your source file." 
fi 
} 

SetupPath(){ 
echo "Setting up path to use included Solaris software..." 
echo "Current PATH is $PATH" 
PATH=/usr/sfw/bin:/usr/sfw/sbin:/usr/sfw/sparc-sun-solaris2.10/bin:$PATH 
echo "Now set to $PATH" 
} 

ConfigureSudo(){ 
dir="/tmp/sudo-1.8.7" 
arg1="--prefix=/usr/local" 
arg2="--sysconfdir=/etc" 
arg3="--localstatedir=/var/run/sudo" 
arg4="--with-pam" 
arg5="--with-timedir=/var/lib/sudo" 
cmd=configure 

$($dir/$cmd $arg1 $arg2 $arg3 $arg4 $arg5) 
} 

Unpack 
SetupPath 
ConfigureSudo 

Любая помощь, чтобы получить прошлое с благодарностью. TIA! Джефф

ответ

0
$($dir/$cmd $arg1 $arg2 $arg3 $arg4 $arg5) 

Вам не нужно размещать это внутри процесса замещения, я думаю. Его выход будет выполнен также. Вы также должны правильно указать свои переменные.

"$dir/$cmd" "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" 
+0

Спасибо, что сделал трюк! – user2766895

0

Одно из предложений было бы поместить строку:

set -x 

сразу после притон линии (линия # 1), так что команды вторит перед казнью.

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

may также необходимо поставить его в начале каждой функции, я не могу вспомнить, переносит ли она функции в функции или нет. Но сначала попробуйте его в начале скрипта.

+0

Спасибо, я пробовал, что и все расширяется правильно, поэтому это не проблема с реальным скриптом, а большая проблема с частью libtool и настройкой. – user2766895