Virtualbox не запускается

Прочитайте документацию GNU для расширения Bash Tilde (как и раньше, до моей первой итерации этого ответа).

~/Desktop и ~j0h делают принципиально разные вещи, которые объясняет, почему ~Desktop не работает:

Обычная ~ заменяет вашу текущую переменную среды $HOME, заданную при входе в систему. Поэтому ~ разрешает мне /home/oli для меня, а ~/Desktop читается как /home/oli/Desktop. Здесь вы видите, что тильда используется больше всего. ~username разрешает дому этого пользователя, как установлено в /etc/passwd. Таким образом, ~oli разрешает /home/oli, ~j0h может решить /home/j0h, но не обязательно, ваш homedir может быть где угодно. ~not-a-username не разрешается. Поскольку Desktop не является пользователем, ~Desktop не заменяется. Это воспринимается буквально как файл или путь с именем ~Desktop (которого здесь нет).

И, разумеется, все это происходит удаленно (это было бы бесполезно в scp, если бы оно было заменено локальными значениями). Это работает, потому что Bash не будет заменять ~..., если ему предшествует что-либо, кроме пробелов.

4
задан 28 May 2018 в 21:25

0 ответов

Другие вопросы по тегам:

Похожие вопросы: