2017-08-08 70 views
0

我想寫一個bash命令,它會提示用戶通過文本編輯器(vim或nano或emacs)進行多行輸入,並將它作爲參數的一部分注入。如何將Vim輸出緩衝區轉換爲不同命令的命令行參數?

例如,如果我運行git命令 git commit --amend -m "<MY DESIRED MESSAGE>"它將修改提交消息與所需的消息。

但是,如果我這樣做只是

git commit --amend它會打開一個命令行編輯器,並提示提交信息,一旦我將它保存將被注入命令消息。

此外,還有一種方法來存儲從讀取收到的輸入並將其存儲在變量中?

預先感謝您

+0

見https://stackoverflow.com/questions/7375434/capture-user-input-by-opening-a-text-editor-with-content –

回答

0

你應該做的是有編輯寫一個文件,然後使用該文件的內容作爲參數。

如:

nano /tmp/test.txt; git commit -m "$(cat /tmp/test.txt)"; rm /tmp/test.txt 
+0

感謝。使用'read'命令怎麼樣?有沒有一種方法可以存儲從讀取中獲得的內容? 我想有即時響應提示響應,直到沒有來自輸入的響應 –

相關問題