我正在 TCSH 中执行命令,这要求我在命令行上传递密码。显然,我希望它不保存在历史文件中。
我知道其他 shell 例如 Bash 支持各种实现方式,例如export HISTCONTROL=ignorespace
。
TCSH 有类似的东西吗(最好是在 FreeBSD 上)?
答案1
TCSH 不支持此类内容。当 shell 关闭时,shell 会话的整个历史记录将合并到历史文件中。
但是,可以通过生成另一个 TCSH shell 并取消设置来跳过添加到历史文件的命令savehist
:
beastie@freebsd:~ $ csh
beastie@freebsd:~ $ echo First shell: $$
First shell: 7143
beastie@freebsd:~ $ exit
beastie@freebsd:~ $ tail -n 1 ~/.history
echo First shell: $$
beastie@freebsd:~ $ csh
beastie@freebsd:~ $ unset savehist
beastie@freebsd:~ $ echo Second shell: $$
Second shell: 74821
beastie@freebsd:~ $ exit
beastie@freebsd:~ $ tail -n 1 ~/.history
echo First shell: $$
如您所见,第二个 shell 的命令未附加到历史文件中。