2017-01-07 2 views
1

リダイレクトオペランドを表すシェルパラメータを探しています。Linuxインタラクティブな使用でリダイレクトオペランドを表すためのbashシンボルはありますか?

例えば:このコマンドでdata/temp.txt

cat file.txt > data/temp.txt 

は、コマンドが終了します後、私は、私は対話的に使用中にリダイレクトしていたファイルを開くことができますどのようにbashの特別なパラメータがありますか?

$ cat file.txt > data/temp.txt 
$ vim data/temp.txt 
+1

私はあなたの質問が何を意味するのかはっきりしていません。ここであなたに「特別なパラメータ」とは何ですか?あなたは実際に達成しようとしているものは何ですか? –

+0

'>'は単語のレクサーの意味ではもちろんシンボルですが、実際にはそれが意味するものではありません。 –

+0

...両方のシェルで 'cat'が実行されると、FD 1は' data/temp.txt'を指すファイルディスクリプタに開かれます –

答えて

4

私はそうは思わない。

echo hello > testfile 
cat !$  # cat testfile 

または対話型セッションのために、ALT +:リダイレクトオペランドは通常、最後であるので、しかし、あなたはバッシュの履歴展開を使用することができます。またはesc + _は、コメントとして指摘されているように、前の行の最後の単語を挿入するために使用できます。

Bash documentation for history expansion

3

ここでもう一つの可能​​性は、bashののプロセス置換である - あなたがcatの出力にエディタを開くの中で最も興味を持っているが、あなたは、ファイルへの出力を書くことのように興味を持っていないのであれば、あなたは使用することができます

vim <(cat file.txt) 

これは、名前付きパイプにstdoutを書き込み、名前付きパイプ(おそらく/dev/fd/NNという名前のもの)をテキストエディタで開きます。あなたはあなたの編集を行い、望むならば<esc>:w data/temp.txtを使って編集内容を保存することができます。

関連する問題