以前に実行したコマンドをファイルにエコーするにはどうすればよいですか?


1

走ってみましたがecho '$(!!:p)' > /tmp/tmptxt.txt、すぐに手に入り$(!!:p)ます。前のコマンドにはエスケープされていない文字が含まれている可能性があるため、エスケープする必要があります。

回答:


1

単一引用符を使用しているため、bashは「!!」を展開しません。代わりに二重引用符を使用してみてください。結果は次のようになります。

mjost@tuca:~$ echo hello
hello
mjost@tuca:~$ echo "!!" > file
echo "echo hello" > file
mjost@tuca:~$ cat file 
echo hello
mjost@tuca:~$ 

とにかく、あなたはここですべての異なる可能な解決策でより完全な答えを見てみたいかもしれません:

https://stackoverflow.com/questions/6109225/bash-echoing-the-last-command-run

がんばろう!


入力した前のコマンドに二重引用符がある場合はどうなりますか?
-bneil

二重引用符を使用できる場合:tail -1 $ HOME / .bash_historyまたは上記のリンクをご覧ください。
-mauriciojost

このような長いコマンドはどうですか?pastebin.com/yjypNFP4尾は私だけ長いコマンドの最後の行を与える-1will。また、コマンドが何行を
占有
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.