Установочный образ Debian LXDE по умолчанию настраивает Openbox (поскольку это оконный менеджер LXDE по умолчанию). Он доступен по адресу http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-lxde-CD-1.iso для amd64
, например; вы можете посмотреть на различные возможности, начиная с https://www.debian.org/CD/.
Ответ @StephenKitt указывает на соответствующую документацию (+1 ), указывая на ожидаемое поведение (почему префиксы тильды расширяются перед назначением, а фигурные скобки - нет? Потому что именно так они определены ).
Относительно :Возможная причина, по которой раскрытие скобок является особенным, давайте посмотрим, что не происходит при присвоении переменной:
Это именно те операции, которые могут изменить количество слов расширения:
Only brace expansion, word splitting, and filename expansion can change the number of words of the expansion
В примерах переменная представляет собой строку, а не массив, и должна содержать только одно слово.
Раскрытие скобок происходит при присвоении массива, как в brace=({a..c})
. Чтобы использовать более сложный пример:
internal_tilde=({~,~+}/new_dir)
echo "${internal_tilde[@]}"
# /Users/DeNovo/new_dir /Your/Working/Directory/new_dir
Итак, я бы предположил, что эта конструкция имеет смысл (, а не является исторической причудой ). Расширение тильды не меняет количество слов. Расширение скобок делает. Если вы хотите, чтобы ваша переменная содержала более одного слова, используйте структуру данных, предназначенную для этого.