アクションをリダイレクト
デフォルトの標準入力、標準出力、エラー出力3ファイルディスクリプタで開かれたプロセス。
私たちはエラー出力をリダイレクトするためのプログラム情報ファイルの標準出力をリダイレクトしてみましょう、このファイルの内容も入力する方法として、標準キーボードに置き換えることができます。
リダイレクション記号
入力リダイレクト記号「
<
」出力のリダイレクト記号「
>
」、「>>
」、「2>
」、「&>
」
入力のリダイレクト
01入力のリダイレクト記号「<
」役割:
コンテンツは、プロセスへのパラメータ入力として、以下の例を提出します。
[root@omp120 home]# cat file.txt
hello
[root@omp120 home]# read a < file.txt
[root@omp120 home]# echo $a
hello
file.txtをファイルの内容は、上記の例はにリダイレクトfile.txtを内容であり、ハローでa
この変数、及びa
バリアブル印刷。
出力のリダイレクト
01出力のリダイレクト記号「>
」役割:
内容ファイルウィル空にし、次の例を、出力の内容は、指定したファイルにリダイレクトされ、ファイルが存在しない場合は作成されます。
[root@lincoding tmp]# echo 123 > /tmp/test
[root@lincoding tmp]# cat /tmp/test
123
[root@lincoding tmp]# echo abc > /tmp/test
[root@lincoding tmp]# cat /tmp/test
abc
02出力のリダイレクト記号「>>
」役割:
コンテンツの出力がされます追加指定されたファイルに、ファイルが空ではなく、ファイルが存在しない場合には、次の例を作成されます。
[root@lincoding tmp]# echo 123 >> /tmp/test
[root@lincoding tmp]# cat /tmp/test
123
[root@lincoding tmp]# echo abc >> /tmp/test
[root@lincoding tmp]# cat /tmp/test
123
abc
03出力のリダイレクト記号「2>
」役割:
プロセスは、エラー出力指定したファイルにリダイレクトされたコンテンツは、次の例:
[root@lincoding home]# abc
-bash: abc: command not found
[root@lincoding home]# abc > error.txt
-bash: abc: command not found
[root@lincoding home]# cat error.txt
[root@lincoding home]#
[root@lincoding home]# abc 2> error.txt
[root@lincoding home]# cat error.txt
-bash: abc: command not found
上記の結果は、ABCは、Linuxのコマンドの実行がアブドコマンドが見つからない場合、エラーメッセージ出力を言ってエラーになりますではないことを証明している、エラーメッセージが使用する必要があり2>
、指定したファイルにリダイレクトエラー出力の内容を処理するために、リダイレクト記号を。
04出力のリダイレクト記号「&>
」役割:
出力処理情報が正しいか、間違った情報であるかどうか、それは、指定したファイルに次の例をリダイレクトされます。
[root@lincoding home]# abc &> file.txt
[root@lincoding home]# cat file.txt
-bash: abc: command not found
[root@lincoding home]# free -m &> file.txt
[root@lincoding home]# cat file.txt
total used free shared buffers cached
Mem: 980 918 62 0 71 547
-/+ buffers/cache: 299 681
Swap: 1983 0 1983
入力と出力のリダイレクト組み合わせのリダイレクト
入力と出力を組み合わせて使用することができ、その後、組成物は、主に新しいシーンプロファイルを生成するために使用されるシェル・スクリプト、例として次のスクリプトシェル:
#!/bin/bash
cat > /home/a.sh << EOF
echo "hello bash"
EOF
cat
コマンドの出力は、リダイレクトされ/root/a.sh
たスクリプトファイルと入力EOFは、スクリプトの最後でリダイレクトします。その後、このスクリプトを実行することで、コンテンツが生成されますecho "hello bash"
という名前のファイルa.sh
のスクリプトファイルを。
結果:
[root@lincoding home]# ./test.sh
[root@lincoding home]# ls -l a.sh
-rw-r--r--. 1 root root 18 Sep 27 16:41 a.sh
[root@lincoding home]# chmod u+x a.sh
[root@lincoding home]# cat a.sh
echo "hello bash"
[root@lincoding home]# ./a.sh
hello bash
概要
上記の内容は、入力と出力のリダイレクションの使用法についてです、そして、我々は出力をリダイレクトするように注意を払う必要が含まれてカバーし、追加モードを上書きまたは追加のいずれか、モードを、私たちのシステム構成ファイルで使用されないようにしてみてください、それは注意すべきで適用する前に、バックアップ用のシステムファイル。
入力と出力のリダイレクトもシェルスクリプトは新しい設定ファイルの中で生成する際に、一般的には、組み合わせて使用することができ、彼らはいくつかの方法を組み合わせて使用します。