在.bashrc中定义
function gitpullsite(){
echo "Enter GIT username";
read gituname;
echo "Enter GIT password";
read -s gitpword;
giturl=https://$gituname:[email protected]/whateveruser/whateverrepo.git
repopath=/home/whateveruser/html/whateverrepo/;
sudo rm -r $repopath;
sudo git clone $giturl $repopath;
}
然后在终端gitpullsite
运行我想从历史中删除gituname
和gitpword
但我无法在历史中找到这样的条目。我没有删除此类条目的流程,以便存储此历史记录的位置?是否在函数范围内而不是shell中被忽略?
我不想要的是存储在我不知道的某个地方的用户名和密码的未知痕迹 - 如果系统受到损害,这是一个明显的安全问题。
目的是添加更多不同的“嵌套”存储库,但用户只需输入一次凭据。
您可能想要尝试https://github.com/dvorka/hstr,除了历史记录管理,即从历史记录中删除特定命令之外,还允许“建议框样式”过滤。
它可以很容易地bound到Ctrl-r和/或Ctrl-s
一种可能的解决方案是根本不记录部分命令。
多种方式:
1要停止记录bash历史记录:
set +o history
并重置,即再次开始记录:
set -o history
2您还可以在HISTCONTROL环境变量中使用add ignorespace。然后,任何以空格开头的命令行都不会输入到您的历史记录中。
methods for avoiding bash history logging
Can you prevent a command from going into the bash shell command history?