Git
エイリアスをバックスラッシュをスラッシュに変換して、後でfilter-branch
コマンドに渡す必要があります(Posh
パラメータとしてDOS
ベースのファイルパスを渡します)。TRを使ってバックスラッシュをスラッシュに変換するGitエイリアスを設定する
だから私はこのエイリアスがあります。
echo-test = "!f() { path=$(echo $1 | tr '\\' '/'); echo $path; }; f"
をしかし、私はこのエラーを取得する:
tr: warning: an unescaped backslash at end of string is not portable
私は、Git
は、単に\
とbash
単一\
を取得をエスケープすることを考えて、tr '\\\\' '/'
内部を書いてみました私は同じエラーが発生します。
アイデア?
「\\\\\\\」の8つのバックスラッシュを試しましたか? – kennytm
@kennytm、聖なるくそ、私はあなたが私をやっていると思ったが、それは働いた!フードの下で何が起こっているのですか? 3エスケープ? – Gabrielius
ええ、間違いなく3つのエスケープ( 'tr'に1回)があり、他の2つの上には、おそらくエイリアス定義で1回、bashで1回です。 – kennytm