Mam problem początkującego basha:
Moja ścieżka do utworzenia to /Volumes/ADATA\ UFD/Programming/Qt
, gdzie już istnieje /Volumes/ADATA\ UFD
. Chciałbym napisać skrypt w następującej formie:Jak wykonać mkdir ze ścieżką zawierającą spacje?
# create a single output directory
outputdir="/Volumes/ADATA\ UFD/Programming/Qt"
mkdir -pv $outputdir
Moim problemem jest to, że mkdir
tworzy katalog /Volumes/ADATA
i ./UFD/Programming
zamiast tworzenia /Volumes/ADATA\ UFD/Programming/Qt
.
Spojrzałem na this question on SO; jednak żadne z tych rozwiązań nie zadziałało:
outputdir=/Volumes/"ADATA\ UFD/Programming/Qt"
mkdir -pv $outputdir
outputdir=/Volumes/'ADATA\ UFD/Programming/Qt'
mkdir -pv $outputdir
outputdir='/Volumes/ADATA\ UFD/Programming/Qt'
mkdir -pv $outputdir
outputdir=/Volumes/ADATA' 'UFD/Programming/Qt
mkdir -pv $outputdir
Co robię źle? Jaka jest tutaj dobra kombinacja?
Umieszczenie odwrotny ukośnik w nazwie pliku będzie powodować zamieszanie i smutek. Unikaj tego za wszelką cenę. –