1 minute read

構文例

| 構文名 | 説明 | 使用例 | |—|—|—| | > | 標準出力をファイルにリダイレクトする。 | echo "Hello, world!" > file.txt | | >> | 標準出力をファイルに追記する。 | echo "Hello, again!" >> file.txt | | < | ファイルから標準入力をリダイレクトする。 | cat < file.txt | | 2> | 標準エラー出力をファイルにリダイレクトする。 | ls /nonexistentdir 2> error.txt | | 2>> | 標準エラー出力をファイルに追記する。 | ls /nonexistentdir 2>> error.txt | | &> | 標準出力と標準エラー出力の両方を同じファイルにリダイレクトする。 | ls /nonexistentdir &> output.txt | | &>> | 標準出力と標準エラー出力の両方を同じファイルに追記する。 | ls /nonexistentdir &>> output.txt | | <() | プロセス置換で、コマンドの出力を一時的なファイルにリダイレクトする。 | diff <(ls dir1) <(ls dir2) | | >() | プロセス置換で、コマンドの入力を一時的なファイルにリダイレクトする。 | echo "Hello, world!" > >(cat) | | << | ヒアドキュメントで、標準入力に直接マルチライン文字列を供給する。 | cat << EOF\nHello,\nThis is a multi-line text.\nEOF | | <<< | ヒアストリングで、標準入力に直接文字列を供給する。 | cat <<< "Hello, world!" | | >! | 強制的に出力をリダイレクトする。 | echo "Hello, world!" >! file.txt | | <> | ファイルを読み書きの両方のために開く。 | command <> file.txt | | >| | noclobberオプションが設定されていても、ファイルを強制的に上書きする。 | echo "Hello, world!" >| file.txt | | {var}> and {var}< | ファイルディスクリプタを開き、その番号を変数に保存する。 | exec {fd}>file.txt\necho "Hello, world!" >&$fd\nexec {fd}>&- | | n>&m and n<&m | ファイルディスクリプタnをmにコピーする。これにより、標準入力、標準出力、標準エラー以外のファイルディスクリプタの出力をリダイレクトできる。 | command 3>&1 1>&2 2>&3 | | 1>&2 | 標準出力を標準エラー出力にリダイレクトする。 | echo "This is an error" 1>&2 | | 2>&1 | 標準エラー出力を標準出力にリダイレクトする。 | command 2>&1 | | 0< FILE or < FILE | ファイルから標準入力をリダイレクトする。 | 0< file.txt or < file.txt | | 1> FILE or > FILE | 標準出力をファイルにリダイレクトする。 | 1> file.txt or > file.txt | | 2> FILE | 標準エラー出力をファイルにリダイレクトする。 | 2> file.txt | | n> FILE | ファイルディスクリプタnをファイルにリダイレクトする。 | 3> file.txt | | n< FILE | ファイルからファイルディスクリプタnへリダイレクトする。 | 3< file.txt | | n>&- | ファイルディスクリプタnをクローズする。 | 3>&- | | n<&- | ファイルディスクリプタnからの入力をクローズする。 | 3<&- | | n>&m- | ファイルディスクリプタnをmにコピーし、その後mを閉じる。 | command 3>&1- | | n<&m- | ファイルディスクリプタnをmにコピーし、その後mを閉じる。 | command 3<&1- |