Non esiste un modo integrato per rendere pwd
i percorsi dei file di escape, poiché generalmente non è utile.
Non ha senso che pwd
o pbcopy
aggiungano barre inverse a ciò che viene copiato. Se si desidera copiare il percorso in un file di testo o un post Web, non si desidera inserire una barra rovesciata in esso.
Probabilmente ciò che vuoi fare è creare un alias separato, come qwd
, per stampare il modulo quotato della directory corrente, o semplicemente sfuggire all'output di pbpaste
, che è facile come metterlo in doppio- cita:
bash-3.2$ pwd
/Users/user
bash-3.2$ cd test\ dir/untitled\ \"folder/
bash-3.2$ pwd
/Users/user/test dir/untitled "folder
bash-3.2$ pwd | pbcopy
bash-3.2$ echo "'pbpaste'"
/Users/user/test dir/untitled "folder
bash-3.2$ cd
bash-3.2$ pwd
/Users/user
bash-3.2$ cd 'pbpaste'
bash: cd: /Users/user/test: No such file or directory
bash-3.2$ cd "'pbpaste'"
bash-3.2$ pwd
/Users/user/test dir/untitled "folder
Tieni presente che non sono solo gli spazi che necessitano di essere sfuggiti. Le barre in avanti e indietro, le stelle, i punti interrogativi, la e commerciale, i punti e altri caratteri devono essere sfuggiti, pure. Safest è solo per usare virgolette come nell'esempio, che funzionerà anche se il percorso include doppi apici in esso.
Se vuoi essere perverso al riguardo, potresti fare in modo che AppleScript indichi la directory corrente per te:
bash-3.2$ alias qwd="osascript -e 'return quoted form of POSIX path of (POSIX file \"./\" as alias)'"
bash-3.2$ qwd
'/Users/user/test dir/untitled "folder'
Altrimenti sono per lo più d'accordo con Glenn, ad eccezione del fatto che, come sopra, farei l'alias del form quotato a qwd
in modo da non interferire con il normale pwd
:
alias qwd='printf "%q\n" "$(pwd)"'