запустить команду bash в новой оболочке и остаться в новой оболочке после выполнения этой команды - PullRequest
30 голосов
/ 25 августа 2011

У меня проблема.Я долго ищу этот ответ - как я могу запустить команду в новой оболочке bash и остаться в этой новой оболочке после выполнения этих команд.Так, например:

bash -c "export PS1='> ' && ls"

создаст новую оболочку, экспортирует PS1, список каталогов и ... выйдет в мою текущую оболочку.Я хочу остаться в новом.

Ответы [ 2 ]

33 голосов
/ 25 августа 2011

Вы можете добиться чего-то подобного, злоупотребляя опцией --rcfile:

bash --rcfile <(echo "export PS1='> ' && ls")

Из страницы руководства bash :

--rcfile file

Выполнять команды из файла вместо общесистемного файла инициализации /etc/bash.bashrc и стандартного личного файла инициализации ~ / .bashrc, если оболочка является интерактивной

0 голосов
/ 25 августа 2011

Ленивый:

bash -c "export PS1='> ' && ls; bash"
...