catとEOFの組み合わせが素晴らしい

2728 ワード

スクリプトを使用して一時ファイルを生成し、最終ファイルとしてディレクトリに入れる場合があります.これには、一時ファイルが一意ではなく、変数で値を割り当てることができ、異なる判断に基づいて異なる最終ファイルを生成することができるなど、いくつかの利点があります.
1.catとEOFの概要
cat:このテキスト出力コマンドは、テキストのすべての内容を表示し、EOFをすべて印刷出力するために使用されます.テキストの終了文字、すなわち「end of file」は、ファイルの内容の終了を表します.
shellスクリプトでcatとEOFを組み合わせて使用すると、複数行のecho'xxx'印刷コマンド方式を回避し、複数行のテキスト出力の結果を実現できます.一般的な使用方法は次のとおりです.
  • cat>FileName<ファイルを新規作成し、複数行でファイル内容をインポートし、最後にEOF入力文字を標準入力として終了します.“
  • cat
  • cat>FileName:fileファイルの内容を編集できます.fileファイルが存在すると、fileの元のデータは新しく入力されたデータで上書きされ、入力時にカーソルの先に>プロンプト(cat>file<しかありません.
    2.説明
  • ファイルを新規作成し、複数行のファイル(新規ファイルまたは上書きファイルの内容)
  • をインポートします.
    ここにA.shスクリプトを書きます.
    #!/bin/bash
    
    cat > kube.txt <

    #sh A.shスクリプトを実行し、実行結果をcatで確認します.
    OPTS="--logtostderr=false --v=4"

    ここで、スクリプトの内容を修正して、中のパラメータ--logtostderr=false、--v=0をもう一度試してみましょう.
    #!/bin/bash
    
    cat > kube.txt <

    実行結果をcatで確認します.
    OPTS="--logtostderr=true --v=0"

     ここではcat>FileName<
    もちろん、スクリプトではなく、端末で手動でノックします.
    #cat>kube-scheduler<#テキスト内容>EOF
    echo印刷出力を使用する場合は、煩雑で、echo-eと書く必要があります.  「#!/bin/sh#テキスト内容」>kube-scgeduler.-eはescapeを表します.
  • 追加ファイル方式
  • cat<kube.js、内容は上と同じ
    [root@master01 scripts]# cat << EOF > kube.js    
    > OPTS="--logtostderr=false\
    > --v=4 \"
    > EOF

    確認:
    [root@master01 scripts]# cat kube.js 
    OPTS="--logtostderr=false--v=4 \"

    kube.jsファイルが既に存在します.別の内容を入力してみましょう.
    [root@master01 scripts]# cat << EOF > kube.js    
    > OPTS="--logtostderr=true\
    > --v=0 \"
    > EOF

    確認:
    [root@master01 scripts]# cat kube.js 
    OPTS="--logtostderr=true --v=0 \"

    ファイル追加方式で複数行テキストの出力を実現し、catの複数行コンテンツに$などの特殊文字がある場合は、エスケープ文字、その末尾にEOFを入力として終了し、既存のファイルコンテンツを編集・修正できることがわかります.
    このとき、cat>fileと<fileの組合せを考えるのはそれほど難しくありません.cat>fileはfileファイルの作成を担当し、ユーザーにファイル内容の入力を求め、<朝8時9時の太陽のように、元気で、永遠に若いことを願っています.