![如何使多步骤命令要求输入?](https://linux22.com/image/1053661/%E5%A6%82%E4%BD%95%E4%BD%BF%E5%A4%9A%E6%AD%A5%E9%AA%A4%E5%91%BD%E4%BB%A4%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%EF%BC%9F.png)
抱歉,标题令人困惑,但这就是我想要做的。
我经常运行这个命令:
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(从浏览器的地址栏复制)并提供合适的文件名。
答案1
您可以使用这个脚本:
#!/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"
。
答案2
你可以使用这样的方法:
#!/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 和路径。