注文する
emacs -nw foo -f org-mode
foo
emacs
ファイルを開きますorg-mode
。
ここで、ファイル名がfoo
スクリプトの出力であると仮定します。コマンドをどのようにパイプできますか?
だから私は次のようなものを取得したいと思います。
echo foo | emacs -nw {GET OUTPUT HERE} -f org-mode
働く可能ですか?
編集:この質問は終了として投票されましたが、参照の回答は機能しません。終了として投票したユーザーはテストしていません。
答え1
(コメントで提案されているように)単にサブシェルを使用するのはどうですか?
emacs -nw $(<COMMAND GOES HERE>) -f org-mode
例えば
emacs -nw $(echo foo) -f org-mode
組織モードで「foo」を開きます
答え2
aを使用してread
パイプからファイル名を取得し、コマンドに変数として渡します。
たとえば、シェル関数を使用する場合(おそらく最良の名前ではないかもしれませんが、より良い名前を考えるかもしれません):
emacspipe () {
local filename
read filename
emacs -nw "$filename" -f org-mode
}
その後、次のものを使用できます。
$ echo foo | emacspipe
$(...)
しかし、他の答えが示唆しているように、コマンド置換を使用することは、同じタスクを実行するためのより適切な方法です。何かをパイプで接続するコマンドがある場合は、それをブロックで簡単に実行し、結果のファイル$(...)
名をemacsを起動するスクリプトまたは関数に引数として渡すことができます。