我找到了我的 .bashrc 文件,现在得到:“-bash:/usr/bin/whoami:参数列表太长”,所以我不能执行任何命令。使用 ssh

NTS*_*NTS 0 bash ssh path environment-variables

我通过 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:~> 
Run Code Online (Sandbox Code Playgroud)

我在网上四处寻找解决方案,但没有看到这种特殊情况的任何示例。大多数遇到相同错误的人似乎仍然能够访问他们的文件。任何人都可以帮忙吗?

我无法以 root 身份登录,因为这是我通过 ssh 访问的系统。我无法访问我的.bashrc.bash_profile文件而不会出现错误。

Kus*_*nda 6

如果我正确地解释了您的文本,那么您很可能会~/.bashrc递归地从其自身或从它自己并~/.bash_profile无限期地相互采购(从问题中不清楚)。这样做的结果可能是一个或多个环境变量的增长不成比例,这将导致您引用的错误消息。

要解决此问题,您必须在不启动bashshell 的情况下访问您的帐户。

你可以这样做,例如,

ssh -t user@host /bin/sh
Run Code Online (Sandbox Code Playgroud)

user@host您的用户名和主机地址在哪里)。这将启动/bin/shshell 而不是您的默认登录 shell。该/bin/sh外壳通常不会源~/.bashrc文件,所以你不会有这种外壳相同的问题。您可以选择任何其他外壳,但/bin/sh外壳或多或少保证存在。

这将允许您登录帐户,进入一个可能不熟悉但功能齐全的 shell,以解决问题,这似乎与以~/.bashrc一种或另一种方式递归获取文件有关。

我还没有解决您使用 Python 遇到的问题。在确保您的本地系统管理员团队无法首先帮助您解决此问题后,您可能需要单独提出该问题。