Bash
HISTTIMEFORMAT 搞砸了 adb
我本月早些時候進行了設置,
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
。