Вы используете правильную команду. Ваш вопрос, кажется, просто, "что еще я могу сделать?" (так).
Таким образом, вот несколько причин, почему это могло бы произойти.
Можете Вы:
Попытайтесь использовать nc
или curl
вытягивать файл. Выполненный tcpdump
в другом терминале и видят то, что происходит.
cd $PWD
Чтобы проиллюстрировать, я сделал фиктивную команду развертывания:
Создал первую установку, cd'd к коду, а затем проверил содержимое с помощью [1130640]ls -lai[1130641], чтобы вы могли увидеть inodes:
Теперь запустите вторую установку
И проверьте содержимое каталога. ... теперь в каталоге ничего нет! даже '...' и '...'! Из этого видно, что bash не использует запись каталога '...' при запуске [1130642]cd ...[1130643], так как '...' больше не существует - я полагаю, что это часть его работы с $PWD. Некоторые другие оболочки/оболочки папок не обрабатывают [1130644]cd ...[1130645] в этой ситуации, вы должны сначала cd к абсолютному пути.
mv /etc/gdm/custom.conf /etc/gdm/custom.Conf_bak
Cd к [1130646]$PWD[1130647] и попробовать еще раз:
Обратите внимание, как изменился inode для текущей директории (...)?
Если бы сценарий развертывания переместил старую директорию на другое имя, например [1130648]mv code.$$[1130649] в сценарии развертывания, описанном выше, тогда [1130650]./run[1130651] работал бы, [1130652], но [1130653] до тех пор, пока вы не используете [1130654]cd $PWD[1130655], вы бы выполняли код [1130656] старой [1130657], а не новую директорию.
Развертывание с использованием capistrano имеет ту же самую проблему (они имеют сим-ссылку от текущего имени до текущего релиза), поэтому я использую псевдонимы для cd в области производства/сцены, а также устанавливаю RAIL_ENV соответствующим образом:
Я предполагаю, что путь к чему-то - это то, что идентифицирует каталог.
Путь к чему-то - это то, как вы туда попадаете, а не сама вещь. Путь к вашей кровати может быть через вашу комнату, но как только вы в кровати, если кто-то поднимет ее и вытащит на улицу, вас больше не будет в вашей комнате[1130304].
Не самостоятельный -ответ, но у меня есть дополнительный момент, который поле для комментариев было слишком маленьким, чтобы его вместить.
Чтобы лучше понять идею о том, что каталог в соответствующих файловых системах — это больше, чем просто путь, попробуйте переместить текущий рабочий каталог другого процесса :в одну оболочку, запустите интерактивный сеанс Python:
$ python
>> import os
>> os.getcwd()
'/home/you/hocus'
Затем перейдите в другую оболочку и переместите этот каталог:
$ cd /home/you
$ mv hocus pocus
Вернуться к исходному:
$ python >> import os >> os.getcwd() '/home/you/hocus' >> os.getcwd() '/home/you/pocus'