如何在脚本中更改shell

时间:2010-09-28 15:36:51

标签: bash shell csh

系统上的默认shell是csh,但我想在bash中编写脚本。我如何编写一个运行bash的脚本,然后在最后转换回csh。

我尝试了这个,但它不起作用:

bash
var=Hello
echo $var
csh

3 个答案:

答案 0 :(得分:3)

您要查找的命令是exit。在键盘上输入时,使用exit代替csh返回 csh 。当您输入csh时,刚刚在 csh bash 会话之上启动了一个新的 csh 会话。

%bash
$ var=Hello
$ echo $var
Hello
$ exit
exit
%

正如其他人所说,使用脚本时:

#! /bin/bash
var=Hello
echo $var
exit # You don't need exit; but it's okay here.

答案 1 :(得分:2)

使用sha bang

定义它
#!/bin/bash

在您的文件开头。

答案 2 :(得分:2)

您无需再次更换外壳。当脚本运行时,它将由子shell(在脚本末尾退出)运行,并且父shell不变。所以,正如已经建议的那样,你唯一要做的就是确保脚本由正确的shell运行,并且'shebang'是这样做的方法:

#!/bin/bash
var=Hello
echo $var

这就是全部。