Autocomplete
bash 完整輸出末尾的雜散換行符
所以我經常將應用程序推到後台並在它們之間切換。我意識到 fg 沒有完整定義選項卡。
所以我想我可以用來自 jobs 命令的建議快速為 fg 組合一個完整的選項卡。我沒有檢查這樣的東西是否已經線上存在,因為這似乎是一個有趣的項目。到目前為止,這是我的程式碼:
job(){ readarray COMPREPLY < <(jobs -l) for i in "${!COMPREPLY[@]}"; do printf -v pad %*s -$COLUMNS "${COMPREPLY[i]}" COMPREPLY[i]="%"${pad//[][]} done }
問題是在每個建議的末尾都會出現一個雜散的換行符(^j),例如:
%1 53967 停止 vim^J
%2 54257 停止 python^J
%3 54499 停止(信號)nano^J
%4- 42270 停止 vim ~/.bashrc^J
%5+ 47434 停止 vim ~/.bashrc^J
從
help mapfile
readarray 的同義詞:選項:
-t 從讀取的每一行中刪除尾隨的 DELIM(預設換行符)
將該選項添加到您的 readarray 呼叫中以修剪尾隨的新行。