|
发表于 2004-4-18 18:01:58
|
显示全部楼层
回复: 有什么命令能取代当前的shell(在脚本中)
最初由 folklore 发表
我的意思是没有fork,直接exec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$exec $TargetShell
可以在shell提示符下取代当前的shell
( 如果你的shelllevel是1, 那么,以下代码会让你logout)
$exec /bin/bash
$exit
Login:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
但在shell脚本中, shell会fork一个新的shell来执行脚本文件;
所以, 以下代码无法成功logout:
$cat execsh
exec /bin/bash
$./execsh
$
$exit
exit
$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
先行谢过了
那当然啦,你的exec命令取代了脚本的进程而不是当前shell的进程。
logout命令即可。 |
|