tcsh中是否有命令来获取输入shell的最后一个命令?
问题是最后一个命令是" tcsh"当我将shell从bash切换到tcsh时,从bash shell。我需要某种类型的shell间通信才能做到这一点吗?我可以尝试阅读我的bash历史中的最后一行,这会起作用......我想......也许有时候?
问题在于:
我想制作我的默认shell bash。目前是tcsh。我没有管理员权限,但我可以修改我的rc文件。现在我通过放置" bash"来解决问题。或者" exec bash"来自我的.tcshrc文件。然而,这显然阻止我使用tcsh,因为如果我尝试它运行rc文件并切换回bash。
这是我的想法:
在我的.cshrc文件中写一个if语句,如果最后一个命令是" tcsh"则跳过bash命令。
看起来应该是这样的:
if ( STATEMENT HERE ) then
bash
endif
在哪里"声明在这里"当输入shell的最后一个命令是" tcsh"。
时,应该为false答案 0 :(得分:0)
如果您真的无法更改登录shell,请尝试以下操作:
exec bash -l
>在〜/ .login而不是.cshrc或.tcshrc中,以便你的tcsh登录shell立即被bash登录shell替换。
如果主要目标是让您的登录会话以bash开始,那么解决〜/ .bash_history或〜/ .history内容似乎很尴尬。