我正在尝试在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的专家。
答案 0 :(得分: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
包含他们指示您添加的代码,则无需这样做。
答案 1 :(得分:0)
没有理由不在Debian上使用sudo
。
如果您没有安装sudo
,只需使用以下(以root用户)
aptitude install sudo
之后,您必须对其进行配置,以便user
可以使用该命令。
最简单的方法是运行以下(以root身份):
adduser USER sudo
您必须使用sudo
以允许的用户ID替换USER。
那么你必须以这个用户的身份再次登录 (如果用户已登录,请将其注销)