[解決済み] Bashで最後のコマンドの出力を自動的に変数に取り込むには?
2022-05-11 10:13:35
質問
最後に実行したコマンドの結果を、後続のコマンドで使用できるようにしたい。たとえば
$ find . -name foo.txt
./home/user/some/directory/foo.txt
さて、このファイルをエディタで開いたり、削除したり、何か他のことができるようにしたいとしましょう、例えば。
mv <some-variable-that-contains-the-result> /some/new/location
どうすればいいのでしょうか?多分、いくつかのbashの変数を使用して?
更新しました。
明確にするために、私は手動で物事を割り当てたくはないのです。私が求めているのは、組み込みの bash 変数のようなもので、たとえば、次のようなものです。
ls /tmp
cd $_
$_
は、前のコマンドの最後の引数を保持します。私は似たようなものが欲しいのですが、最後のコマンドの出力があります。
最終更新です。
Sethの回答は非常にうまくいきました。心に留めておくべきことがいくつかあります。
-
を忘れないでください。
touch /tmp/x
を使用している場合は - 最後のコマンドの終了コードが成功した場合のみ、結果が保存されます。
どのように解決するのですか?
これは本当にやっつけ仕事のような解決策ですが、ほとんどの場合、うまくいくようです。 テスト中に、私はそれが時々 ^C をコマンドラインで受け取ったときに、うまく動作しないことがあることに気づきました。
このハックは対話型モードのみのハックで、誰にも勧められないという自信があります。 バックグラウンド コマンドは、通常よりもさらに定義されていない動作を引き起こす可能性があります。 他の回答は、プログラム的に結果を得るためのより良い方法です。
とはいえ、以下は "解決策"です。
PROMPT_COMMAND='LAST="`cat /tmp/x`"; exec >/dev/tty; exec > >(tee /tmp/x)'
このbash環境変数を設定して、好きなようにコマンドを発行します。
$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
関連
-
Linux Mintのシステムバージョン情報はどこにありますか? Linux Mint のシステム情報を見るためのヒント
-
Centos7 dns service named installation, encountered ** server can't find xxx.com: NXDOMAIN問題
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] 複数行の出力をBash変数に取り込む
-
[解決済み] Bashでコマンド内のシングルクォート内の変数を展開する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Kali Linuxのマウスライトテーマを変更する方法は?マウスカーソルのテーマを変更するためのヒント
-
deepin20ターミナルでサーバーをリモート管理する方法
-
2020年deepin Deep OS V20のアップデートによる更新情報
-
Centos7 dns service named installation, encountered ** server can't find xxx.com: NXDOMAIN問題
-
[解決済み] gzip: stdin: gzip 形式ではありません tar: 子プロセスはステータス 1 を返しました。エラーは回復不可能: 現在終了中
-
[解決済み] ディレクトリInodeと通常ファイルInodeの比較
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] Unix/Linuxで、ファイルのあるフォルダを別のフォルダにコピーするにはどうしたらいいですか?[クローズド]