前のコマンドの結果を実行する必要がありますが、どのように処理できるか分かりません。前のコマンドラインの出力を実行
私は、サーバーにログインするための命令を返す最初のコマンドを持っています。そして、その直後に実行したいのです。たとえば、ドッキングウィンドウのログイン...
:
私-最初のコマンドが返す
私はこのために$(!!)
を使用
> my-first-comnand | execute the result of my-first-command
前のコマンドの結果を実行する必要がありますが、どのように処理できるか分かりません。前のコマンドラインの出力を実行
私は、サーバーにログインするための命令を返す最初のコマンドを持っています。そして、その直後に実行したいのです。たとえば、ドッキングウィンドウのログイン...
:
私-最初のコマンドが返す
私はこのために$(!!)
を使用
> my-first-comnand | execute the result of my-first-command
これは私が信じるべきことです。
my-first-command | bash
。チャールズが指摘するように、これは皆がやりたいことではないかもしれませんが、それは私のために働き、他の答えよりも私の目的に合っています。
$ find ./ -type f -name "some.sh"
$ $(!!)
!!
最後のコマンドを保持しており、$()
に置くことは、それが実行されます可能変数です。
これは、$()
が変数として扱われるため、出力で他のアクションを実行する場合にも便利です。
これは**以前のコマンドを再実行したことです**。それが遅い/高価な場合、それは長い時間がかかることがあり、出力はまったく同じではないかもしれません。 –
また、コマンドの解析方法も異なります。もし出力が 'printf '%s \ n" "foo bar" 'ならば、それをシェルにパイプしたり、' eval'で実行した結果は引用符で囲まれていない展開と異なります。 'foo bar'という文字列を出力し、後者は文字列' '" foo'を1行、文字列 '' bar''を2行目として出力します。[BashFAQ#50](http://mywiki.wooledge.org/BashFAQ/050)。 –
個人的には、コマンドを実行する前に出力をチェックしたいので、私はコマンドを再実行する方が好きです。展開の違いに応じて、私は別の解決策を想像したいと思います –
Hexagenicに感謝します。 my-first-command | sh ** also – Victor
@ user7544861これらは同一ではありません。shはbashよりも制限のある言語を使用しています。 '/ bin/sh'が' bash'へのハードリンクであっても、これが異なる場所についてはttps://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html '/ bin/sh'は' ash'や 'dash'のような別のシェルによって提供されますが、さらに多くの変更があります。 –