系统上的默认 shell 是,csh
但我想在bash
. 如何编写一个运行 bash 的脚本,然后在最后转换回 csh。
我试过这个但它不起作用:
bash
var=Hello
echo $var
csh
您要查找的命令是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.
您无需再次更换外壳。当脚本运行时,它将由一个子shell(在脚本结束时退出)运行,并且父shell不变。因此,正如已经建议的那样,您唯一需要做的就是确保脚本由正确的 shell 运行,而“shebang”就是这样做的方法:
#!/bin/bash
var=Hello
echo $var
这就是它所需要的。
使用 sha bang 定义它
#!/bin/bash
在文件的开头。