我在本月早些时候进行了设置,HISTTIMEFORMAT
因为我需要查看我之前使用的一些命令的时间。但是,我很可能把这些命令弄乱了,因为每次我尝试使用 adb 执行任何操作(例如 adb Kill-server)时,我都会收到以下错误:bash: /home/user/Android/Sdk/platform-tools/adbHISTTIMEFORMAT=%d%m%y: No such file or directory
。这些是我用来设置的命令HISTTIMEFORMAT
:
1032 20/05/22 19:17:45 echo 'HISTTIMEFORMAT="%d%m%y %T "' >> ~/.bashrc
1033 20/05/22 19:17:46 history
1034 20/05/22 19:19:17 source ~/.bashrc
1035 20/05/22 19:19:19 history
1036 20/05/22 19:20:22 echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
1037 20/05/22 19:20:32 source ~/.bashrc
我到底做错了什么以及如何修复/恢复它?
答案1
假设:你的旧版本~/.bashrc
包含不完整的线该行与 相关adb
。你的命令
echo 'HISTTIMEFORMAT="%d%m%y %T "' >> ~/.bashrc
添加到该行而不是添加其他线。这种行为是原因之一最后一行应该正确终止。
~/.bashrc
我的测试表明Bash 不会忽略不完整的行。您可能有一条不完整的alias …
生产线。您的不完整行可能是:
alias adb='/home/user/Android/Sdk/platform-tools/adb'
(也许没有单引号)在第一个之后echo … >> ~/.bashrc
它变成:
alias adb='/home/user/Android/Sdk/platform-tools/adb'HISTTIMEFORMAT="%d%m%y %T "
(也许没有单引号)。该行既不定义您想要的确切别名,也不影响HISTTIMEFORMAT
.不过,这是一条完整的生产线,因此您的第二条echo … >> ~/.bashrc
生产线按预期工作并创建了一个分离实际影响 的线路HISTTIMEFORMAT
。
您在评论中写道:
我尝试从 bashrc 文件中删除该行,但它只是从历史命令中删除了时间戳。 adb 错误仍然存在。
删除最后一行(即第二行的输出echo
)而不注意到前一行被污染(与第一行的输出echo
)正好可以做到这一点。我的假设成立。
检查你的最后一行~/.bashrc
。