cha*_*sie 5 bash byobu login bashrc
每次 ssh 进入我的盒子或运行sudo -i
. 登录时看起来像这样:
login as: person
chands@ubuntu-server's password:
-bash: .: filename argument required
.: usage: . filename [arguments]
chands@ubuntu-server:~$
Run Code Online (Sandbox Code Playgroud)
当我执行时就像这样sudo -i
:
chands@ubuntu-server:~$ sudo -i
[sudo] password for chands:
-bash: .: filename argument required
.: usage: . filename [arguments]
root@ubuntu-server:~#
Run Code Online (Sandbox Code Playgroud)
当我启动屏幕时,当我sudo
用来执行其他一些命令时,当我执行时sudo su
甚至当我su
从 root 进入 chands时,都不会出现此错误。
我检查了 ~/.bashrc 的 chands 和 root 以及 /etc/bash.bashrc 但它们三个都是默认值,并且它们都没有任何.
使用错误。
此外,在我从系统中删除并清除 byobu 后,此错误开始发生。我不知道这是否与问题有关,但这是我的参考点,在此之前一切正常。
这里可能出了什么问题?任何人的想法?
所以这个问题的根本原因确实是byobu(实际上是缺少byobu)。我不知道为什么,但出于某种原因,byobu 没有从~/.profile
.This 中清理一行。这是文件的最后一行:. $(which byobu-launch)
。幸运的是,通过执行以下操作(按照@enzotib 和@geirha 的建议),我能够轻松快速地找到这一行:
首先,我在调试模式()下运行bash -xl
以输入 bash 作为登录 shell -l
(-x
)。当我运行它时,我可以看到违规行是什么。一旦我知道是什么导致了我cat <file> | grep . $(which byobu-launch)
为 bash 启动时执行的每个文件发出的问题。
这些文件如下:
~/.bashrc
/etc/bash.bashrc
~/.profile
/etc/profile
/etc/profile.d/*
~/.bash_profile