Используя оригинальный windows путь в Cygwin без кавычек - PullRequest
0 голосов
/ 22 января 2020

Я знаю, что backsla sh (\) является частью escape-символа.

Мой вопрос: как мне заставить эту работу работать без изменения windows path C:\Users\user\Documents в этом скрипте?

Я не хочу удалять \ в этом случае и хотел бы использовать оригинальный путь windows без кавычек.

script. sh

[user@linux ~]$ cat script.sh
##!/bin/sh -x
echo Before: $(pwd)
cd $1
echo After : $(pwd)
[user@linux ~]$

Тест 1

[user@linux ~]$ script.sh C:\\Users\\user\\Documents
Before: /home/user
After : /cygdrive/c/Users/user/Documents
[user@linux ~]$

Тест 2

[user@linux ~]$ script.sh /cygdrive/c/Users/user/Documents
Before: /home/user
After : /cygdrive/c/Users/user/Documents
[user@linux ~]$

Тест 3

[user@linux ~]$ script.sh 'C:\Users\user\Documents'
Before: /home/user
After : /cygdrive/c/Users/user/Documents
[user@linux ~]$

Тест 4

[user@linux ~]$ script.sh C:\Users\user\Documents
Before: /home/user
/home/user/script.sh: line 3: cd: C:UsersuserDocuments: No such file or directory
After : /home/user
[user@linux ~]$

Требуемый выход при тесте 4

Вход должен быть C:\Users\user\Documents без кавычек ('' или "")

[user@linux ~]$ script.sh C:\Users\user\Documents
Before: /home/user
After : C:\Users\user\Documents
[user@linux ~]$
...