相关疑难解决方法(0)

su vs sudo -s vs sudo -i vs sudo bash

以下命令有什么区别:

su
sudo -s
sudo -i
sudo bash
Run Code Online (Sandbox Code Playgroud)

我知道su我需要知道 root 密码,而且sudo我必须在sudoers文件中,但是一旦执行有什么区别?

我知道su和之间存在差异,sudo -s因为我的主目录/root在我执行之后su,但我的主目录仍然/home/mynamesudo -s. 但我怀疑这只是我遗漏的潜在差异的症状。

su sudo

106
推荐指数
3
解决办法
7万
查看次数

使用脚本更改当前工作目录

我已经阅读了这个问题和答案,但它并不适合我的问题,即使它很相似。

我正在编写一个脚本(称为 cpj),它将启动我当前的项目之一。我有大约 5 个。当我打字

$ cpj blah

我希望当前工作目录更改为 blah 项目目录(我保存在 $PROJDIR 中),并且我希望 emacsclient 打开该项目的主文件(我保存在 $MAINFILE 中)。

我引用的问题说你不能直接改变运行脚本的 shell 的环境,但你可以获取一个脚本,它会这样做。

为了测试这一点,我编写了一个 shell 脚本(称为 chcwd),其中有一行:

cd $1

如果,从命令行我做:

$ . chcwd $PROJDIR

我当前的工作目录将根据需要更改。另一方面,如果从我的 cpj 脚本中,我有相同的行:

. chcwd $PROJECT

它不会改变 shell 的当前工作目录。我意识到我正在运行 2 个脚本(cpj,然后是 chcwd),因此创建了 2 个 shell,但我看不出有什么办法可以完成我想要的。谁能告诉我如何实现我的目标?

shell cd-command

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

标签 统计

cd-command ×1

shell ×1

su ×1

sudo ×1