質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

CRLF

CRLFは、改行コードのことです。 改行コードは、改行を表す制御文字です

受付中

Windows + Hyper-V + Vagrant でファイル共有すると改行コードがCRLFになってしまう。

退会済みユーザー

退会済みユーザー

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

CRLF

CRLFは、改行コードのことです。 改行コードは、改行を表す制御文字です

1回答

0評価

0クリップ

455閲覧

投稿2020/06/22 06:58

編集2022/01/12 10:55

元のファイルの改行コードはLFなのに、
Windowsからファイルを共有すると勝手に改行コードがCRLFになってしまい、
シェルスクリプトが実行できず困っております。
Windows + Hyper-V + Vagrant で、LFはLFのままファイル共有をする方法はないでしょうか?

環境
Windows 10 Pro
Vagrant 2.2.9
Git Bash 4.4.23(1)-release (x86_64-pc-msys)

  • git管理のディレクトリ /vagrant/hoge を smb で共有。

gitの改行コード設定確認

$ git config --global core.autocrlf input

git bash からコマンドでCRLFのあるファイルを検索

$ find . -type f | xargs grep -lzUP '\r\n'

検出なし。

Vagrantファイルの共有設定

# フォルダ共有設定 config.vm.synced_folder "./hoge.", "/vagrant/hoge", type: "smb"

Vagrant起動&接続

vagrant up vagrant ssh

コマンドでCRLFのあるファイルを検索

[vagrant@centos8 bin]$ find . -type f | xargs grep -lzUP '\r\n' ./console ./phpunit ./recreate.sh

検出される。

他に試した方法

# フォルダ共有設定 config.vm.synced_folder "./hoge", "/vagrant/hoge", :owner=> 'vagrant', :group=>'web', :mount_options => ['dmode=775', 'fmode=775']

結果は同じくCRLFのあるファイルとして検出される。

追記
すみません、VMは起動しますが「No valid IDs were given to the NFS synced folder implementation to prune. This is an internal bug with Vagrant and an issue should be filed.」というファイル共有のエラーが出ていました。
共有したファイルはVM内に存在しますが、ホスト側で編集してもゲスト側のファイルが変更されません。

$ vagrant reload ==> default: Attempting graceful shutdown of VM... default: Configuring the VM... ==> default: Starting the machine... ==> default: Waiting for the machine to report its IP address... default: Timeout: 120 seconds default: IP: 192.168.151.2 ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 192.168.151.2:22 default: SSH username: vagrant default: SSH auth method: private key ==> default: Machine booted and ready! No valid IDs were given to the NFS synced folder implementation to prune. This is an internal bug with Vagrant and an issue should be filed.

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

CRLF

CRLFは、改行コードのことです。 改行コードは、改行を表す制御文字です