有没有办法从shell脚本文件中打开登录shell?

时间:2014-11-28 10:00:23

标签: linux bash shell unix

我的脚本是从shell提示符调用的。有没有办法忽略直接父shell的属性。

登录我的盒子后。我运行命令(比如script1.sh),script1.sh设置要在script1上下文中使用的当前环境。

我创建了一个脚本(比如script2.sh)。我打算在这个脚本中添加一些命令在script1.sh的上下文中不起作用(这些命令在执行script1.sh之前有效)。

有没有什么方法可以在script2.sh中调用一些命令,而不是在script1.sh的上下文中调用,而是应该在新shell中调用那些命令,条件与我的登录shell相同。

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你可以使用:

unset a

然而,它不是很方便,因为它需要逐个取消。 期待更好的解决方案。

答案 1 :(得分:0)

现在只涉及环境变量。 当我执行script1.sh(从我的登录shell)时,它会打开一个新的shell。

我想在当前shell提示符下的单个脚本中实现以下手动命令,假设我的登录shell的PATH中都有script2.sh和script3.sh:

  1. script2.sh

  2. 退出#这将带我回到登录shell。从这里执行script3.sh很好。

  3. script3.sh

  4. 现在script3.sh是从我的登录shell执行的,它运行正常。

    有没有办法将手动操作添加到shell脚本中?