То, что происходит, то, что -b
переключатель не имеет смысла и даже не должен быть там. Номера секторов, зарегистрированные в MBR, всегда интерпретируются, чтобы быть в единицах логического размера сектора диска (512 байтов). При помощи -b
переключатель, Вы заставляете fdisk делить все секторы, которые он записывает 8, таким образом, ядро интерпретирует разделы, чтобы быть 1/8-м размер, Вы предназначили.
Если Вы используете parted
вместо fdisk
, это удостоверится, что Ваши разделы правильно выровненные автоматически. С fdisk
, просто удостоверьтесь, что стартовые секторы являются кратными 8.
Вы могли создать обертку в ударе, перенаправить вывод, ожидают в файл, анализируют файл и устанавливают переменные. Или изменения этого.
mark5:~/test# cat test.xp
send "bla\n"
mark5:~/test# expect test.xp
bla
mark5:~/test# expect test.xp > test.out
mark5:~/test# cat test.out
bla
mark5:~/test# #now parse test.out
Так как вы используете expect
с here-doc в скрипте bash, вы бы сделали:
output=$(
expect << END
expect script here
END
)
Чтобы уменьшить вывод, добавьте log_user 0
в верхнюю часть тела ожидания, и распечатайте вывод команды GETINFO
send -- "GETINFO circuit-status\r"
expect "250 OK\r"
puts $expect_out(buffer)
Я имею в виду следующее:
output=$(
expect << EOD
log_user 0
spawn telnet localhost 9151
expect "Escape character is '^]'."
send -- "AUTHENTICATE $COOKIE\r"
expect "250 OK\r"
send -- "SIGNAL NEWNYM\r"
expect "250 OK\r"
send -- "GETINFO circuit-status\r"
expect "250 OK\r"
puts $expect_out(buffer)
send -- "QUIT\r"
expect eof
EOD
)
Слишком поздно я узнал ( переменную доступа от ожидаемого скрипта в сценарии Bash ), что среда Vars от ребенка не может быть передана в окружающую среду родителей, по крайней мере, как я описал , т. Е. Ссылаясь на ожидаемое значение по умолчанию от Bash Shell. Поэтому я просто буду продолжать использовать ожидаемый скрипт в VAR и анализировать его значение.
expect test.xp > test.out
и синтаксический анализ, что находится в test.out после этого – Marki 10.02.2014, 01:12