相关疑难解决方法(0)

'sudo su -' vs 'sudo -i' vs 'sudo /bin/bash' - 什么时候使用哪个重要,还是根本不重要?

当我做一些需要连续输入几十次 root 的事情时,我更喜欢将我的会话切换到 root 会话。在各种教程和说明我已经使用了互联网上,我看到了sudo susudo su -sudo -isudo /bin/bash用来打开一个root会话,但我不会在这些当之间,或者说差异事项的区别清楚。

有人可以帮我解决这个问题吗?

command-line bash sudo su

308
推荐指数
2
解决办法
46万
查看次数

为什么 Ubuntu 的默认 ~/.profile 源是 ~/.bashrc?

这些是~/.profile我的 13.10 附带的股票内容(已删除注释行):

if [ -n "$BASH_VERSION" ]; then
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
Run Code Online (Sandbox Code Playgroud)

这是从 Debian 继承的,但为什么 Canonical 决定保留它?据我所知,这不是标准的 *nix 方式,我见过各种系统都没有发生这种情况,所以我认为他们一定有充分的理由这样做。这可能会导致在运行登录 shell 时出现意外行为(例如,当 ssh 进入机器时),而用户不希望有~/.bashrc来源。

我能想到的唯一好处是不要将用户与许多启动文件混淆,并允许他们.bashrc单独编辑并读取该文件,而不管 shell 类型。然而,这是一个可疑的好处,因为为登录和交互式 shell 设置不同的设置通常很有用,这会阻止您这样做。此外,登录 shell 通常不在图形环境中运行,这可能会导致错误、警告和问题(天哪!),具体取决于您在这些文件中设置的内容。

那么为什么 Ubuntu 会这样做,我错过了什么?

bash design .profile bashrc

32
推荐指数
1
解决办法
1万
查看次数

我使用的是 bash 还是 sh?

我连接到远程外壳,许多键无法正常工作,例如箭头和转义键。这个答案Arrow keys, tab-complete not working表明我可能在错误的外壳中,所以我参考了如何确定我正在使用的当前外壳?. 使用所描述的方法,我得到了奇怪的结果。

echo $SHELL 
/bin/bash
Run Code Online (Sandbox Code Playgroud)

echo $0
sh
Run Code Online (Sandbox Code Playgroud)

我使用的是哪个外壳?

bash remote sh

10
推荐指数
2
解决办法
7645
查看次数

标签 统计

bash ×3

.profile ×1

bashrc ×1

command-line ×1

design ×1

remote ×1

sh ×1

su ×1

sudo ×1