Как заставить многошаговую команду запрашивать ввод?
Извините за запутанный заголовок, но вот что я хочу сделать.
Я запускаю эту команду довольно часто:
w3m -dump http://www.example.com/file-to-save-as-text/ > ~/Desktop/saved-file.txt
Возможно ли иметь (Zenity?) Или простой скрипт терминала, который позволит мне вставить в URL http://www.example.com/file-to-save-as-text/ а затем предложите мне ввести только имя файла, например saved-file.txt после которого w3m будет "сбрасывать" содержимое URL в ~/Desktop с указанным именем файла?
Другими словами, вместо ввода всей команды мне просто нужно вставить URL-адрес (скопированный из адресной строки моего браузера) и указать подходящее имя файла.
2 ответа
Вы можете использовать этот скрипт:
#!/bin/bash
url="$(zenity --entry "URL" --title "Enter the URL:" --text "Enter the URL:" 2>/dev/null)"
filename="$(zenity --entry "filename" --title "Enter the filename:" --text "Enter the filename:" 2>/dev/null)"
w3m -dump "$url" > ~/Desktop/"$filename"
url="$(zenity --entry "URL" --title "Enter the URL:" --text "Enter the URL:" 2>/dev/null)": запрашивает URL и сохраняет ввод в$url;filename="$(zenity --entry "filename" --title "Enter the filename:" --text "Enter the filename:" 2>/dev/null)": запрашивает имя файла и сохраняет ввод в$filename;w3m -dump "$url" > ~/Desktop/"$filename": выполняетw3m -dumpна$urlи перенаправляет вывод в~/Desktop/"$filename",
Вы можете использовать что-то вроде этого:
#!/bin/bash
echo "enter URL"
read URL
echo "enter filename"
read NAME
w3m -dump "$URL" > "$NAME"
Вы можете сохранить это как run_w3m.sh, сделайте его исполняемым с chmod 755 run_w3m.sh и запустить его с ./run_w3m.sh, Сценарий запросит URL-адрес и путь к файлу.