私はスクリプトを使用してユーザーからビルドスペック情報を収集し、次にナイフを使用してクローンを作成し、仕様にVMを構築しています。 CHEFは、プロビジョニングされたノードにいくつかのシェルスクリプトをコピーし、 "knife ssh"を使ってこれらのスクリプトを実行します。CHEF /ナイフ実行シェルスクリプト
これは正常に動作します:
template '/path/to/filename.sh' do
source 'filename.sh.erb'
mode 755
end
これはしません:filename.sh.erbとfilename.shの
cookbook_file '/path/to/filename.sh' do
source 'filename.sh'
mode 755
end
内容は同じです。次のように私が取得エラーメッセージは次のとおりです。
DEMO-CCM2.t3fca.comのbash:/tmp/C3_Component_Install.sh:/ binに/ bashの^ M:悪い通訳:そのようなファイルやディレクトリはありません
両方のファイルの最上部に次のようになります。私はホストに移動し、うまく、手動で次の作業のすべてをスクリプトを実行しようとした場合
#!/bin/bash
:
- のsh C 3_Component_Install.sh
- /binに/ bashのC3_Component_Install.sh
- は/ usr/binに/ bashのC3_Component_Install.sh
- /tmp/C3_Component_Install.sh
だから私は間違っているのか分かりません。助けを前にありがとう。
私はVagrantインスタンス(CentOS 7)内からシェフコードを実行できるように、ファイルを共有ディレクトリに保存してWindows上でAtomを使用しています。 Atomでファイルを保存するのではなく、テキストをクリップボードにコピーして、ターミナルエミュレータの「ナノ」(テキストエディタ)にペーストして、これが問題を解決できないようにするということですか?私の問題を解決する方法はありますか?Linuxで編集したテキストをすべて元に戻すことはできますか?または、テンプレートメソッドに固執する唯一のソリューションですか?テンプレートはこれを修正しますか?ありがとう。 – Dan
Atomには、デフォルトでAFAIKという行末セレクタプラグインが含まれています。スクリーンショットについては、https://github.com/atom/lineingending-selectorを参照してください。それを 'LF'にする。 – coderanger