Bashのファイルリダイレクトの優先順位 ('>' | '>>' | '<') について
bashでの>
>>
<
の扱い
minishellの実装にあたり、bashの最もシンプルな>
>>
<
の3つのファイル出入力リダイレクトの仕様をまとめました。
<
<<
: ファイルのインプット (上書き、追記)
① 引数は複数指定可能
$ cat aaa.txt bbb.txt
aaa
bbb
② リダイレクトは最後が一つだけ読み込まれる
$ cat < aaa.txt < bbb.txt
bbb
③ 引数とリダイレクトだと引数が優先
$ cat < aaa.txt bbb.txt
bbb
$ cat aaa.txt < bbb.txt
aaa
$ cat < aaa.txt bbb.txt < ccc.txt
bbb
>
: ファイルのアウトプット
① アウトプットは最後のファイルのみ実行される
$ cat aaa.txt bbb.txt > output1.txt > output2.txt
$ cat output1.txt
$ cat output2.txt
aaa
bbb
② アウトプットはどこに書いてもいい
$ cat > output1.txt aaa.txt bbb.txt
$ cat output1.txt
aaa
bbb
$ cat aaa.txt > output1.txt bbb.txt
$ cat output1.txt
aaa
bbb
実装の観点から
① インプットは引数優先
- 引数を入力ファイルとして追加していく
- 引数がない間
<
ごとに入力ファイルを上書きしていく
- 引数を見つけた時点でリダイレクトの入力ファイルは無視
② アウトプット先は一つ
- デフォルトは標準出力
-
>
ごとに出力先を上書きしていく
<
ごとに入力ファイルを上書きしていく>
ごとに出力先を上書きしていく以上です!
Author And Source
この問題について(Bashのファイルリダイレクトの優先順位 ('>' | '>>' | '<') について), 我々は、より多くの情報をここで見つけました https://qiita.com/U_mytake/items/3356e4bec45c01cb4d09著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .