vi
定義上、ビジュアル エディターです。
この場合、おそらく他の手段を使用する方がよいでしょう。
これらの行のみを追加したい場合は、次のようにします:
cat >> filename.sh <<'EOF'
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
EOF
これは、ファイルがまだ存在しない場合にも機能します。
これらの行を最初に追加したい場合は、 ed
を使用できます これは行指向のエディターです:
ed filename.sh <<'EOF'
1i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w
q
EOF
これは ed
を指示します 行 1 に行を挿入します。孤独な点 .
行の は入力の終わりを示しているため、挿入はそこで停止します。最後にファイルが書き込まれます (w
) 編集セッションが終了しました (q
).
ed
の使用を主張する場合 ファイルがまだ存在しない場合でも (その場合は cat
を使用します) 上記の例)、これを使用できます:
ed filename.sh <<'EOF'
i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w filename.sh
q
EOF
主な違いは、 i
で行番号を渡さないことです まだ行がないため、コマンドを挿入します。 w
にファイル名を渡します 新しいファイルである write コマンド。
sed
も使用できますが、そのようなタスクには ed
が見つかります より使いやすく (何が起こっているかを読みやすく) します。