0

我正在尝试在 Debian 中使用 mkdir 创建一个目录,但问题是该目录是在根目录中创建的。问题出现在尝试安装 OpenFOAM 时,我怀疑这是因为“$”用于创建它。

按照 OpenFOAM 网站上的说明,它说要创建一个文件夹

$HOME/OpenFOAM/user-2.2.1

然后,使用以下命令在名为“run”的文件夹中创建:

mkdir -p /FOAM_RUN

问题是最终目录(运行)应具有以下形式:

/home/OpenFOAM/user-2.2.1/run

但是使用 Debian 我不能用“sudo”创建一个目录,所以我必须以 root 身份进行,当我进入目录 /home/OpenFOAM/user-2.2.1 并执行 mkdir -p /FOAM_RUN 时,然后创建文件夹是:

/root/OpenFOAM/root-2.2.1/run

我需要在 /home 目录而不是 /root 目录中创建它。我刚刚使用创建了文件夹

mkdir -p /home/OpenFOAM/user-2.2.1/run

但是当我尝试执行 OpenFOAM 命令时它不起作用。

我的问题是:

为什么要mkdir $FOAM_RUN创建运行目录,如果我像“mkdir run”那样创建它,它不起作用?

为什么我使用 mkdir 时出现“$”符号?我正在寻找它,(例如)mkdir 手册对此一无所知。

对不起,我不是 Linux 专家。

4

2 回答 2

2

说明相当简单,但您似乎错过了其中一个注释。要重申他们正在提出的观点,您需要source ~/.bashrc在更新它之后。然后,如果echo "$FOAM_RUN"您应该看到这个变量现在设置为类似/home/luser/OpenFOAM/luser-2.2.1/run.

如果您喜欢手动覆盖它,并假设您的用户名是luser并且您的 OpenFOAM 版本是 2.2.1,请执行以下操作:

FOAM_RUN=$HOME/OpenFOAM/$USER-2.2.1/run
mkdir -p "$FOAM_RUN" # Note pedantic quoting

但是,如果您.bashrc包含他们指示您添加的代码,则没有必要这样做。

于 2013-07-22T12:33:44.483 回答
1

没有理由不能sudo在 Debian 上使用。如果您还没有sudo安装,只需安装它,使用类似以下的内容(以 root 身份)

aptitude install sudo

之后,您必须对其进行配置,以便您user可以使用该命令。最简单的方法是运行以下命令(以 root 身份):

adduser USER sudo

您必须将 USER 替换为您希望允许使用的用户 ID sudo。那么您必须再次以该用户身份登录(如果该用户已经登录,则将其注销)

于 2013-07-22T09:58:40.420 回答