Пребывание в ударе (или любая другая оболочка, если Вы отображаете подсказку независимо):
case $answer in
[Yy]*) echo Ok;;
*) echo "Can't you read? I said to say yes.";;
esac
Это принимает ответы как yn
как да, y
(с начальным пространством) как не, и wlkjzuhfod
как не, который не может быть оптимальным, но согласовывается с типичными приглашениями оболочки: это то, как rm -i
, find -ok
и другие делают это.
Это сторонится целой проблемы интернационализации: на других языках необходимо было бы перевести ожидаемые ответы. Затем нет никакого стандартного метода оболочки; можно обратиться к диалоговому окну, но затем сценарий потребует, чтобы это было установлено (это доступно во многих дистрибутивах, но не всегда устанавливаемое по умолчанию).
if dialog --yesno "Choose yes" 0 0; then …
Я использую Veam Быстрый SCP для этого. Это очень удобно при контакте с ESXI, так как то единственное имеет включенный scp, но это будет также иметь дело с любой scp-поддерживающей машиной.
Возможно, я смущен, но под чем Вы подразумеваете "sftp как интерфейс"? Просто получите/поместите файлы с помощью scp из командной строки.
Помещать нечто файла, из командной строки на Вашем хосте Linux, принимающем 'имя пользователя', существует как пользователь на маршрутизаторе:
$scp foo username@router:~
Это скопирует нечто файла в корневой каталог имени пользователя.
Получить файл от маршрутизатора, принимая файл находится в корневом каталоге пользователя 'имя пользователя':
$scp username@router:~/foo .
Это скопирует нечто файла от маршрутизатора до любого каталога, Вы находитесь в том, когда Вы выполняете команду.
Я надеюсь, что понял Ваш вопрос правильно.
Удачи.
Клиентская программа как filezilla может сделать это также... тип соединения, который Вы указываете, 'sftp', который вводит в заблуждение, так как это на самом деле не требует sftp сервера, просто ssh доступ к машине.
sftp user@my.router.domain
Я получаю a sh: /user/libexec/sftp-server: not found
ошибка. Filezilla является фантастическим предложением, однако я искал командную строку "интерфейс". Я обновлю вопрос соответственно.
– Jordan S. Jones
13.08.2010, 21:56
Можно использовать Полуночного Командующего, утилиту командной строки. Это знает SCP, FTP, это свободно, и это находится, вероятно, в диспетчере пакетов Вашего дистрибутива.
На Debian/Ubuntu, установка это с:
apt-get install mc -y
Выполните его с:
mc
Хит F10 Входит в выход
lftp
программа.lftp fish://username@host.name
. – Jordan S. Jones 16.08.2010, 22:15