【问题标题】:creating dir with mkdir in debian在 debian 中使用 mkdir 创建目录
【发布时间】:2013-07-21 23:41:34
【问题描述】:

我正在尝试在 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 专家。

【问题讨论】:

  • 请更正您问题中的拼写错误。例如/FOAM_RUN 是与 $FOAM_RUN 完全不同的文件夹,但您似乎可以互换使用它们
  • mkdir -p /FOAM_RUN 表示在根目录中创建一个目录FOAM_RUN。命令mkdir -p $FOAM_RUN 表示检查环境变量FOAM_RUN 并将其值用作要创建的目录的名称。您可以使用set 检查环境变量并分配FOAM_RUN=/path/to/wherever

标签: debian mkdir gnome-terminal


【解决方案1】:

The instructions 相当简单,但您似乎遗漏了其中一个注释。为了重申他们提出的观点,您需要在更新后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 包含他们指示您添加的代码,则不需要这样做。

【讨论】:

    【解决方案2】:

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

    aptitude install sudo
    

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

    adduser USER sudo
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-06
      • 2016-11-19
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      相关资源
      最近更新 更多