如何在命令執行前自動向使用者輸入新增字符

如何在命令執行前自動向使用者輸入新增字符

我喜歡在終端機上閱讀 - 它集中了我的注意力,讓我閱讀的內容是我在瀏覽器等上閱讀的內容的兩倍。

我使用 bash.bashrc 的別名編寫了一個腳本,它將工作目錄更改為儲存 .html 檔案的目錄,並顯示該目錄的內容:

alias la='ls -a'

alias books='
printf "\nA twilit bookshelf, somewhere\n\n"
cd data/data/com.termux/files/home/documents/books && la
printf "\n"'

最後,我想'lynx '在提示後添加,這樣我就可以輸入檔案名稱並在 lynx 中讀取它。

我想到了以下演示:

A twilit bookself, somewhere

.        kinglear.html
..       invisiblecities.html

admin@lib:/$ lynx [filename here]

如何在提示後添加“lynx”?

謝謝你!

答案1

我將為我製作的快速 bash 腳本做一步一步的說明。

cd ~/.local/bin
cat > searchlynx
(or use nano,vi,gedit or whatever you prefer)

使用 ctrl + shift + v 貼上以下腳本

#!/bin/bash
printf "\nA twilit bookshelf, somewhere\n\n"
cd /home/a/Downloads && ls -a
printf '\n'
echo 'Input filename:'
read -e FileName
FileFindTest="$(find ~/Downloads/"$FileName")"  ## quoted
echo "$FileFindTest"
echo 'Open with what program?'
read command
$command $FileName

然後按 Enter 鍵,然後按 ctrl + c 退出。然後您將需要更改該文件的權限。

chmod u+x searchlynx

用法:

searchlynx

將列出目錄,選項卡自動完成適用於資料夾中的檔案。選擇要開啟的檔案後,您必須手動輸入 lynx、xdg-open 或其他內容。我很累了,我認為最後一部分(要運行的程式的選項卡完成)可以留給您作為練習,直到我有更多時間為止。 (希望您通過查看我現在在這裡為您所做的事情來了解如何做到這一點:)我有興趣幫助您解決問題,但可能需要一周或更長時間,直到我有時間再次查看它。

如果對您來說足夠好,請接受作為答案。
這至少會激勵我幫助您解決程式名稱的製表符補全的最後一個問題。

參考: 我可以在 bash 腳本中實現製表符自動完成嗎?

相關內容