Bash

HISTTIMEFORMAT 搞砸了 adb

  • June 3, 2022

我本月早些時候進行了設置,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

我到底做錯了什麼,我該如何修復/恢復它?

假設:您的 old~/.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 錯誤仍然存在。

刪除最後一行(即 second 的輸出echo)而不注意到前一行被污染(與 first 的輸出echo)將完全做到這一點。我的假設成立。

檢查你的最後一行~/.bashrc

引用自:https://unix.stackexchange.com/questions/704871