Как заставить многошаговую команду запрашивать ввод?
Извините за запутанный заголовок, но вот что я хочу сделать.
Я запускаю эту команду довольно часто:
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-адрес и путь к файлу.