当前位置: 首页 > 面试题库 >

SU或SSH登录后,BASH和/或.BASHRC无法正常运行,除非运行“ bash”命令

于恺
2023-03-14
问题内容

我有一台运行Ubuntu 10.04的Amazon EC2计算机。

默认用户ubuntu的.bashrc行为似乎正常,但是如果我sshsu第二个用户mikey正常运行,则它不会正确显示bash

示例1.)通过 su

mikey@home ~$ ssh ubuntu@EC2
ubuntu@EC2:~$
ubuntu@EC2:~$ su mikey
$ 
$ bash
mikey@EC2: $

示例2。)以用户身份直接SSH-ing

mikey@home ~$ ssh mikey@EC2
/home/mikey/.bashrc: 13: shopt: not found
/home/mikey/.bashrc: 21: shopt: not found
/home/mikey/.bashrc: 99: shopt: not found
/etc/bash_completion: 33: [[: not found
/etc/bash_completion: 39: [[: not found
/etc/bash_completion: 52: Bad substitution
\[\e]0;\u@\h: \w\a\]\u@\h:\w$
\[\e]0;\u@\h: \w\a\]\u@\h:\w$ bash
mikey@EC2:~$

我试着玩,~/.profile~/.bash_login包括

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

但是到目前为止,似乎没有任何办法可以解决。

任何指针将不胜感激。谢谢!


问题答案:

如果实际上您的shell不是bash,则可以尝试如下更改它:

usermod -s /bin/bash mikey

如果/ bin / bash是该bash系统上的位置。



 类似资料:
  • 问题内容: 我有一个bash脚本,可以通过命令行像这样运行: 我在调用某个php文件后尝试执行上述命令。 我现在所拥有的是: 但这是行不通的。我尝试过使用和太,但剧本从来没有得到执行。 但是,当我尝试运行它时,它确实起作用,并且是所有文件的列表。 我不确定这是由于我使用的VPS的限制还是问题出在其他地方? 问题答案: 您可能需要在调用脚本之前将chdir更改到正确的目录。这样,您可以在调用shel

  • 当我试图登录本地postgres数据库并提交查询时,我的BASH脚本中的psql命令遇到了问题。我以以下方式使用该命令: 但是,我收到以下错误消息。 PSQL: FATAL:用户"postgres"的身份验证失败 在我将以下更改附加到 /var/lib/pgsql/data/pg_hba.conf后,从命令行运行非常好: 本地所有信任 托管所有127.0.0.1/32信任 另外,能否验证一下这一点

  • 我有下面的课。它允许我通过java执行命令。 当我运行命令时,上一个命令的结果没有保存。例如: 给出输出: 为什么第二个“ls”命令不显示“bin”目录的内容?

  • 问题内容: 我运行一个包含此行的python脚本 然后,我在服务器上运行相同的代码,并收到以下错误消息 因此,我要做的就是print bashCommand在运行之前,在终端中插入一个比命令更清晰的信息os.system()。 当然,我再次收到错误(由引起os.system(bashCommand)),但是在该错误出现之前,它会在终端中打印命令。然后我只是复制了输出,然后将复制粘贴到终端中,然后按

  • 问题内容: 我在txt文件中有一些命令,我​​需要逐行执行所有命令。我该怎么办? 问题答案: 只要做: 如果别名只是运行 无需担心文件扩展名或执行权限。

  • 我构建了一个应用程序,我想为这个应用程序编写一个用nodejs编写的安装程序。安装程序应该做:-更新操作系统-更改ip/主机名-安装nginx、nodejs、节点附加模块(pg、pm2等),postgresql-从git hub下载应用程序-为配置文件制作控制器-使用pm2运行应用程序 我在internet上搜索,发现了来自节点的child_进程,我试图用它运行bash命令,但在“apt get