第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Bash自動將上一條命令的輸出捕獲到變量中?

使用Bash自動將上一條命令的輸出捕獲到變量中?

泛舟湖上清波郎朗 2019-11-23 11:23:29
我希望能夠在后續(xù)命令中使用最后執(zhí)行的命令的結果。例如,$ find . -name foo.txt./home/user/some/directory/foo.txt現(xiàn)在假設我希望能夠在編輯器中打開文件,刪除文件或?qū)ζ溥M行其他操作,例如mv <some-variable-that-contains-the-result> /some/new/location我該怎么做?也許使用一些bash變量?更新:為了澄清,我不想手動分配東西。我需要的是內(nèi)置的bash變量,例如ls /tmpcd $_$_保留上一個命令的最后一個參數(shù)。我想要類似的東西,但使用最后一條命令的輸出。最終更新:塞思的答案非常有效。請記住以下幾點:touch /tmp/x初次嘗試時不要忘記僅當最后一個命令的退出代碼成功時才存儲結果
查看完整描述

3 回答

?
大話西游666

TA貢獻1817條經(jīng)驗 獲得超14個贊

這是一個非常駭人聽聞的解決方案,但在某些時候似乎可以正常工作。在測試過程中,我注意到當^C在命令行上使用時,有時效果不佳,盡管我做了一些調(diào)整以使其表現(xiàn)得更好。


此hack僅是一種交互模式hack,我非常有信心不會將其推薦給任何人。后臺命令可能導致比正常情況更少的定義行為。其他答案是通過編程獲得結果的更好方法。


話雖如此,這是“解決方案”:


PROMPT_COMMAND='LAST="`cat /tmp/x`"; exec >/dev/tty; exec > >(tee /tmp/x)'

設置此bash環(huán)境變量并根據(jù)需要發(fā)出命令。 $LAST通常將具有您要查找的輸出:


startide seth> fortune

Courtship to marriage, as a very witty prologue to a very dull play.

                -- William Congreve

startide seth> echo "$LAST"

Courtship to marriage, as a very witty prologue to a very dull play.

                -- William Congreve


查看完整回答
反對 回復 2019-11-23
?
天涯盡頭無女友

TA貢獻1831條經(jīng)驗 獲得超9個贊

我不知道會自動執(zhí)行此操作的任何變量。除了復制粘貼結果外,還可以執(zhí)行其他操作,例如,重新運行


vim $(!!)

!!歷史擴展在哪里,意思是“先前的命令”。


如果您希望文件名中包含空格或其他字符,這可能會阻止正確的參數(shù)解析,請對結果加引號(vim "$(!!)")。不加引號的情況將允許一次打開多個文件,只要它們不包含空格或其他shell解析標記即可。


查看完整回答
反對 回復 2019-11-23
?
慕標5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

Bash是一種丑陋的語言。是的,您可以將輸出分配給變量


MY_VAR="$(find -name foo.txt)"

echo "$MY_VAR"

但最好在使用變量時小心正確地引用它!


最好直接對文件進行操作,例如使用find的-execdir(請參閱手冊)。


find -name foo.txt -execdir vim '{}' ';'

要么


find -name foo.txt -execdir rename 's/\.txt$/.xml/' '{}' ';'


查看完整回答
反對 回復 2019-11-23
  • 3 回答
  • 0 關注
  • 1449 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號