我有一个问题。我已经搜索了很长时间,想知道如何在新的bash shell中运行命令,并在命令执行后保留在这个NEW shell中。例如:
bash -c "export PS1='> ' && ls"
我想创建一个新的shell,导出PS1,列出目录等操作,并且不退出到当前shell,而是希望一直停留在新的shell中。
我有一个问题。我已经搜索了很长时间,想知道如何在新的bash shell中运行命令,并在命令执行后保留在这个NEW shell中。例如:
bash -c "export PS1='> ' && ls"
我想创建一个新的shell,导出PS1,列出目录等操作,并且不退出到当前shell,而是希望一直停留在新的shell中。
你可以通过滥用--rcfile
选项来实现类似的效果:
bash --rcfile <(echo "export PS1='> ' && ls")
来自bash手册:
--rcfile file
如果shell是交互式的,执行文件中的命令,而不是从系统范围的初始化文件/etc/bash.bashrc和标准个人初始化文件~/.bashrc中执行。
.bashrc
文件作为基础! bash --rcfile <(echo "source "$HOME/.bashrc";export PS1='> ' && ls")
- Aquarius Power3<<'__INIT__' ... '__INIT__'
)变体时,不会执行here document文本的扩展,从而消除了需要引用命令特定部分的需要。bash --rcfile <(echo "export PS1='> ' && ls && command1 && command2")
bash --rcfile /dev/fd/3 3<<'__INIT__'
export PS1='> '
ls
command1
command2
__INIT__
懒惰者:
bash -c "export PS1='> ' && ls; bash"
ls
,但是PS1
部分对我没有起作用。 - spiralofhope