シェル 構文エラー問題を解決する方法
2022-03-15 10:44:18
Windowsで編集したシェルスクリプトの行末に"^M"記号が付くことがある場合
MS-DOSやWindowsでは、キャリッジリターン+ラインフィードで改行を表すため、WindowsのVCで書かれたコードをLinuxのVimで見ると、行末の"^M"記号が1文字を表していることになります。
Vimでこの問題を解決するには、Vimのreplace機能を使って、以下のreplaceコマンドラインを入力すれば、簡単にすべての"^Ms"を取り除くことができます。
1)
vi -b setup.sh
2) コマンド編集画面で、ESCキーを押した後、shift+:コロン>タイプ: %s/^M//g を入力します。
注)上記のコマンドラインにおける「"^M"」は、「"^"+"M"」ではなく、「"Ctrl+v "」「"Ctrl+M"」キーを組み合わせた文字となります。
これを置き換えたら、保存すれば実行されます。
もちろん、他にも以下のような置き換え方法があります。
a. linux のバージョンによっては dos2unix プログラムがあり、 ^M を取り除くのに利用できます。
b.
cat filename1 | tr -d "/r" > newfile
新しいファイルを生成するための^Mや、sedコマンドなどを削除します。置き換え可能なコマンドであれば、新しいファイルを生成するために使用することができます。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例