我想为工作区配置制作一个脚本,我需要它来打开 ssh 终端,在其中我需要抛出一个 bash 命令(因为默认是 tcsh),然后在 bash 上抛出另一个命令,我希望终端保持在最后的状态。
我在脚本中有这个:
...
cd xxx/xxx
bash
source setup.sh
...
exit 0
当脚本结束时,我的终端停留在 bash 中,但没有执行后续步骤。
我也尝试过这个:
ssh -X URL << '___'
cd xxx/xxx
bash -c "source setup.sh"
___
如果我仅在 ssh URL 内启动 bash -c
,它会起作用,但如果我完成它,它会结束执行并将我置于 ssh URL 之外。如果我在最后执行 bash -i ,它会显示“bash:此 shell 中没有作业控制”并将我转出。 -exec
选项的作用相同。
我怎样才能正确地做到这一点?
最佳答案
您可以在标准输入上将任意复杂的脚本传递给 bash
。
bash <<'____'
source setup.sh
: things
# no explicit exit really needed
____
关于linux - 在 bash 脚本中调用的终端内抛出命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37585884/