rmmod 8139too
не работает потому что также:
/boot/config-2.6.38.8
файл (или подобный). Вы можете grep
это для чего-то как ‘8139TOO’. Если Вы видите что-то как CONFIG_8139TOO=m
, затем 8139too
драйвер компилируется как модуль. Если это CONFIG_8139TOO=y
, затем драйвер встроен в ядро. Если это говорит что-то вроде # CONFIG_8139TOO is not set
, затем драйвер не был скомпилирован вообще.lshw
, сказать sudo lshw | less
и ищите eth0
: модуль драйвера будет перечислен. Если Вы имеете systool
, попробовать sudo systool -c net -A uevent eth0
и ищите DRIVER=
часть. Правая сторона должна показать драйвер, загруженный для обработки устройства. dmesg | grep eth0
может также работать, но это не на 100% надежно, особенно если Ваша система шла некоторое время (если существует a /var/log/dmesg
, можно хотеть grep eth0 /var/log/dmesg
также).Вы, кажется, смущены какой echo
делает. Вы не можете выполнить использование команд echo
, не конкретно nohup
. echo
просто текст дисплеев, это не выполняет его.
Теперь, если я понимаю то, что Вы хотите сделать правильно, все, в чем Вы нуждаетесь, это:
#!/usr/bin/env bash
## As others have said, this is a better loop for your purposes
## and it avoids both useless uses of cat.
while read a
do
## you don't need to copy the variable; you need the
## quotes to cope with names with spaces.
mkdir "$a"
while read b
do
nohup ./tools $b $a >> "$a"/output &
done < another_list_of_names
done < list_of_names
Я сделал некоторые улучшения Вашего кода:
# This sort of loop is generally preferable to the one you had.
# This will handle spaces correctly.
while read a
do
# There's no need for the extra 'echo'
ID="$a"
# Quote variables that may contain spaces
mkdir "$ID"
# This is a matter of taste, but I generally find heredocs to be more
# readable than long echo commands
cat <<EOF
nohup sh -c '
while read b
do
# Quotation marks
./tools \$b $a >> "${ID}/output"
done < another_list_of_names' &
EOF
done < list_of_names
Я не совсем уверен, что понимаю то, что Вы хотите. Просто предположение: одно из следующего кодирует фрагменты, делают намеченную вещь?
for a in $(cat list_of_names)
do
ID=`echo $a`
mkdir ${ID}
echo '
nohup sh -c '\''
for b in $(cat another_list_of_names)
do
./tools $b $a >> ${ID}/output
done'\'' &
'
done
или
for a in $(cat list_of_names)
do
ID=`echo $a`
mkdir ${ID}
echo "
nohup sh -c '
for b in $(cat another_list_of_names)
do
./tools \$b $a >> ${ID}/output
done' &
"
done
ID
и a
в nohup
команда.
–
28.05.2013, 16:03
Вы пытаетесь повторить это для наблюдения какой заключительные команды, собирающиеся быть похожими? или Вы пробуете к фактической попытке работать nohup
команда с тем эхом?
Я предложил бы добавить строку к верхней части Вашего сценария, set -x
так, чтобы Вы видели то, что делает каждая строка, а не попытайтесь grok она, просто смотря на нее.
Можно повернуться set -x
на прочь по мере необходимости в сценариях также:
set -x
... code to debug ...
set +x
nohup
. – PoGibas 28.05.2013, 17:10&
(выполненный в фоне) в концеnohup
делает. – terdon♦ 28.05.2013, 17:11