1
如何在bash/shell腳本中用雙重砰擊開始一行以便最後一次輸入再次運行?用bash腳本開始一行! (double bang)
我想將最後一個運行程序的過去輸出轉換爲一個新程序。例如,如果我最後跑了ls -l
,現在我運行這個腳本,我想將ls -l
轉換爲<some program here>
進行操作。
#! /bin/sh
!! | <some program here>
我越來越
!!:不 發現
據我所知,邦邦再次執行最後執行的命令(在交互模式下)。這可能不是正確的方法 - 想象一下刪除文件然後運行命令,你會得到不同的輸出,因爲你試圖再次刪除已經刪除的文件。將ls的輸出配置到你的程序中可能看起來像這樣:'ls -l | 。/ yourscript.sh'。請注意,您的腳本需要可執行。 – redxef
歷史擴展需要可用(它不在'/ bin/sh'中)並且被啓用(它在非交互式shell中不是默認的)。 – chepner
謝謝你們。假設我想在運行第一個命令後運行myscript.sh。有沒有辦法從歷史記錄中訪問該行,並在myscript.sh中再次運行它? – userJoe