なぜやる
docker-composeのvolumeパラメータは、WSLの形式しか受け付けないから
どうやる
sedコマンドで実現する、テスト用コマンドは下記のようです。
$ echo "c:/Project/test" \
| sed -E 's/^(\w+)+/\L\1/g' \
| sed -e 's/\\/\//g' \
| sed -e 's/://g' \
| sed -e '/^\//!s/^/\//g'
/c/Project/test
-
sed -E 's/^(\w+)+/\L\1/g'- 頭文字を小文字
-
sed -e 's/\\/\//g'- [] を [/] に変換
-
sed -e 's/://'- [:] を削除
-
sed -e '/^\//!s/^/\//g'- [/]から始まるではない場合、先頭に[/]を追加
どうつかう
func.sh
# !bin/bash
wsl() { echo "$(echo "$1" | sed -E 's/^(\w+)+/\L\1/g' | sed -e 's/\\/\//g' | sed -e 's/://' | sed -e '/^\//!s/^/\//g')"; }
# quotes are necessary:
r=$(wsl 'C:\Project\test');
echo "$r";
$ sh func.sh
/c/Project/test