У меня есть эта проблема в течение долгого времени, и она становится трудной. На Mac OS X, когда я печатаю каталог, такой как cd /adirectory/another/andelse , я не нахожу его. Я могу только напечатать прямой, такой как cd Documents/Sites . Ну, мой терминал не распознает абсолютное начало каталога с помощью "/". Мой терминал bash. Я в курсе всего твоего ответа.

Вот мой bash_profile :

# Path for mysql
export PATH="/usr/local/mysql/bin:$PATH"

# Path for composer
export PATH="~/.composer/vendor/bin:$PATH"

# MacPorts Installer addition on 2016-01-25_at_17:56:55: adding an appropriate PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.
export PATH="/usr/local/bin:$PATH"

# Setting PATH for Python 3.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
export PATH

1 ответ1

1

Когда каталог начинается с / это полный путь или имя файла. Относительные пути основаны на вашем текущем каталоге, но полные пути перезапускаются в корневом каталоге (/) каждый раз. Таким образом, cd adir работает, так как adir находится в вашем текущем каталоге, но cd /adir потерпит неудачу, так как adir не находится в корневом каталоге.

$ mkdir adir
$ ls
adir
$ cd adir
$ pwd
/home/chicks/Documents/se-code-review/x/adir
$ cd /adir
-bash: cd: /adir: No such file or directory
$ ls /
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  www

Записи PATH в вашем .bash_profile отличаются. Они указывают, где искать команды, которые выполняются, но это не влияет на то, как bash интерпретирует указанные вами имена каталогов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .