Это:
Я использую следующую переменную:
folder = "lastname, \ firstname \ (id \)"
Не будет работать. Поскольку переменная тогда сохраняет обратную косую черту:
[maulinglawns@ArchLinux ~]$ folder="lastname,\ firstname\(id\)"
[maulinglawns@ArchLinux ~]$ echo "$folder"
lastname,\ firstname\(id\)
Следовательно, вы получаете следующее сообщение:
cd "slask/$folder"
bash: cd: slask/lastname,\ firstname\(id\): No such file or directory
Самый простой способ решить эту проблему - поместить вашу переменную внутри ""
. Как это:
[maulinglawns@ArchLinux slask]$ mkdir lastname,\ firstname\(id\)
[maulinglawns@ArchLinux slask]$ folder="lastname, firstname(id)"
[maulinglawns@ArchLinux slask]$ cd "$folder"
[maulinglawns@ArchLinux lastname, firstname(id)]$
Таким образом, оболочка не будет разбивать пробелы в переменной. Подробнее о переменных и цитировании читайте здесь .