LINUX.ORG.RU

как выполнить 'cd' в новой сессии bash?


0

1

привет!

пытаюсь сделать такое: 'strace — /bin/bash cd ~/1', но в ответ: «/bin/bash: cd: Нет такого файла или каталога»

т.е. причина наверняка в том, что 'cd' это встроенная команда. но почему тогда новая сессия bash не может выполнить эту команду?

спасибо.

★★★
Ответ на: комментарий от Deleted

хм.. любопытно...

в выводе strace нет ничего вроде 'chdir(/home/nixman/1)'. но зато почему-то есть 'chdir(«/home/nixman»)' %)

может быть команда 'cd' вовсе не обязана выполнять реальную смену каталога, а просто bash у себя сохраняет изменившийся путь?

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

Потому что подстановку $HOME в ~ выполняет сам sh, а не системный вызов. Посмотри, например, результат

strace -- /bin/bash -c 'HOME=/tmp ; cd ~/1'

ABW ★★★★★
()
Ответ на: комментарий от x0r

да, все дело было в этом.

спасибо, вопрос закрыт.

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

нет, дурик, вообще никак не нужно. забудь путь сюда

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.