簡體   English   中英

如何在不按 Enter 的情況下在 bash 中“閱讀”

[英]How to "read" in bash without pressing enter

我已經完成了一個 shell (bash) 腳本,該腳本將預定義的規則應用於放入終端的文件。

它工作得很好,但是因為它使用“讀取”,所以一旦文件被拖放到術語窗口,就需要按 Enter

這是當前代碼的一部分

    while true ; do
        echo "Drop file(s) here then press [ENTER]:"
        echo "( x,q or exit,quit )"
        read -p "> " read_file
        while read dropped_file ;do
            if [ -e ${dropped_file} ] ; then
                ...bunch of code here...
            else
                [[ "${dropped_file}" == *[xXqQ]* ]] && exit 1
            fi
        done <<< $(echo ${read_file} | tr " " "\n")
        clear
    done

我想在每次刪除文件時省略按 Enter 鍵,我想知道是否有一些魔法可以避免與鍵盤交互,除非我想退出腳本

任何幫助,將不勝感激

提前致謝

編輯

我已經解決了這個

while true ; do
    read -sn1 read_file
    while read splitted_filename; do
    dropped_file="${dropped_file}${splitted_filename}"
    done <<< $(echo ${read_file})
    functionAction
    [[ "${dropped_file}" == [xXqQ] ]] && exit 1
done 

我認為您可以使用 yes、printf 或 expect 命令並使用\\n鍵,它應該能夠執行您要查找的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM