Bash

我獲取了我的 .bashrc 文件,現在得到:“-bash: /usr/bin/whoami: Argument list too long”,所以我無法執行任何命令。使用 ssh

  • January 1, 2021

我通過 ssh 使用外部 HPC 系統。今天我嘗試安裝“ASE”一個用於處理原子的 Python 程式碼。我按照說明修改我的.bashrc文件,但不斷得到ModuleNotFoundError: No module named 'ase'所以我source為我的文件執行了一個命令.bashrc,認為這對於.bashrc辨識文件的更改是必要的(不幸的是,我不記得確切的命令)。

現在,當我嘗試執行任何類型的命令時(即使在註銷並重新登錄之後),我得到:

###################################################################################### (<-- normal welcome message that I always get on login up to here)
-bash: /usr/bin/whoami: Argument list too long
-bash: /usr/bin/cut: Argument list too long
-bash: /usr/bin/logger: Argument list too long
me@n01:~> 

我在網上四處尋找解決方案,但沒有看到這種特殊情況的任何範例。大多數遇到相同錯誤的人似乎仍然能夠訪問他們的文件。任何人都可以幫忙嗎?

我無法以 root 身份登錄,因為這是我通過 ssh 訪問的系統。如果沒有收到錯誤,我無法訪問我的.bashrc或文件。.bash_profile

如果我正確地解釋了您的文本,那麼您很可能~/.bashrc是從其自身或它遞歸地採購,並且~/.bash_profile無限期地相互採購(從問題中不清楚)。這樣做的影響可能是一個或幾個環境變數的增長不成比例,這將導致您引用的錯誤消息。

要解決此問題,您必須在不啟動bashshell 的情況下訪問您的帳戶。

你可以這樣做,例如,

ssh -t user@host /bin/sh

user@host您的使用者名和主機地址在哪裡)。這將啟動/bin/shshell 而不是您的預設登錄 shell。shell通常/bin/sh不會獲取~/.bashrc文件,因此您不會遇到與此 shell 相同的問題。您可以選擇任何其他外殼,但/bin/sh外殼或多或少保證存在。

這將允許您登錄帳戶,進入一個可能不熟悉但功能齊全的外殼,以解決問題,這似乎與以~/.bashrc一種或另一種方式遞歸獲取文件有關。

我還沒有解決您在 Python 中遇到的問題。在確保您的本地系統管理員團隊無法先幫助您解決該問題之後,您可能想單獨提出一個問題。

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