TL; DR: cd -
встроен в cd
, ~ -
является более поздним расширением ~ [name]
, не специфичен для cd
.
POSIX.1-2008 Shell & Utilities определяет cd -
как особый случай , специфичный для команды cd
:
Когда в качестве операнда используется
-
, это должно быть эквивалентно команде:
cd "$ OLDPWD" && pwd
, которая переходит в предыдущий рабочий каталог и затем записывает свой имя.
Расширение ~ -
будет расширено до $ OLDPWD
перед выполнением любой команды и может быть передано в качестве аргумента для любой команды, а не только cd
. Это более позднее расширение в ksh и bash .
Вышеупомянутый стандарт POSIX.1-2008 Shell & Utilities также содержит подробное объяснение расширения тильды . Формулировка очень специфична, чтобы разрешить ~ -
как неопределенное поведение в рамках стандарта, где ~ [name]
относится к $ HOME
if ] [имя]
- пустая строка или домашний каталог пользователя имя
, если имя
является допустимым именем пользователя.
Проблема в python. Я получаю ошибку с пакетом, когда делаю apt-get upgrade
.
Это потому, что usr/bin/python
ссылается на python3.4. Поэтому я изменил ее на python2.7 и снова apt-get upgrade
и это решило проблему!