1
我試圖建立一個Git
別名它有一個反斜槓轉換爲正斜槓以後把它傳遞給filter-branch
命令(在有需要時,因爲我用Posh
一個Git別名並將通過基於DOS
的文件路徑作爲參數)。設置它採用TR來反斜槓轉換成正斜槓
所以我有這個別名:
echo-test = "!f() { path=$(echo $1 | tr '\\' '/'); echo $path; }; f"
但我得到這個錯誤:
tr: warning: an unescaped backslash at end of string is not portable
我試着寫tr '\\\\' '/'
內,以爲Git
簡單地逃脫了\
和bash
得到一個\
,但我得到同樣的錯誤。
任何想法?
您是否嘗試了8個反斜槓?'\\\\\\\''? – kennytm
@kennytm,聖潔的廢話,我以爲你在逗我,但它工作!那麼發生了什麼? 3逃脫? – Gabrielius
是的,所以肯定有3個轉義(一次在'tr'中),不能確定在另外兩個轉義之上,可能一次在別名定義中,一次在bash中。 – kennytm