3

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

我试过这个但它不起作用:

bash
var=Hello
echo $var
csh
4

3 回答 3

3

您要查找的命令是exit. 在键盘上键入时,请使用exit 而不是csh返回csh。当您输入csh时,它刚刚在已经运行的cshbash会话之上启动了一个新的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.
于 2010-09-29T18:27:28.543 回答
3

您无需再次更换外壳。当脚本运行时,它将由一个子shell(在脚本结束时退出)运行,并且父shell不变。因此,正如已经建议的那样,您唯一需要做的就是确保脚本由正确的 shell 运行,而“shebang”就是这样做的方法:

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

这就是它所需要的。

于 2010-09-28T15:42:42.010 回答
2

使用 sha bang 定义它

#!/bin/bash

在文件的开头。

于 2010-09-28T15:38:48.270 回答