【问题标题】:mkdir $HOME/ errormkdir $HOME/ 错误
【发布时间】:2013-01-27 00:54:46
【问题描述】:

我尝试了一个单行脚本,它在一个基于 Linux 的发行版(Linux mint)中工作,但在另一个(Fedora)中不起作用。我在我的 bash 脚本中输入了以下行。

mkdir $HOME/folder123

我收到的错误:

bash: create.sh: No such file or directory

我尝试自己创建一个文件夹,它给了我一个权限被拒绝?

希望清除一些东西:mkdir 在脚本 create.sh 中,我在终端中使用命令 bash create.sh 运行它

【问题讨论】:

  • echo $HOME 显示什么?那个 var 在你运行这个脚本的任何 shell 的环境中吗?
  • which mkdir 显示什么?
  • echo $HOME 显示/home/liveuser which mkdir 显示 mkdir/bin 我更新了我的帖子,不知道权限是怎么回事,这会是问题吗?(或者这是它自己的另一个问题)?我不知道如何编辑权限。
  • 试试\mkdir $HOME/folder123
  • mkdir 应该是二进制而不是脚本,所以它不应该调用像create.sh 这样的任何下标。也许该命令被别名为其他东西。或者,请不要为此感到沮丧,有人可能一直在弄乱您的系统,使其看起来像 mkdir 仍然存在,但还做了一些额外的事情,也许是希望您以 root 身份运行它

标签: linux bash


【解决方案1】:

如果我正确解释了您的帖子,则您有一个包含mkdir $HOME/folder123 的文件create.sh,并且您正在尝试通过键入create.sh 来运行它。

要执行脚本,chmod +x yourscript.sh 然后在当前目录中使用./yourscript.sh 运行它,如果在另一个目录中使用/home/whatever/yourdir/yourscript.sh 运行它。

要使yourscript.sh 正常工作,您必须将它放在 $PATH 中的目录中侦听。

您可以通过将其复制到echo $PATH 中列出的任何目录来执行此操作。

或者,您可以创建一个新目录,例如mkdir /home/you/bin,然后在您的~/.bashrc 末尾添加export PATH="$PATH:/home/you/bin"。还要确保~/.bash_profile 包含source .bashrc 行。然后注销并重新登录。

【讨论】:

  • 我不是这样解释这个问题的。看起来当 OP 类型 mkdir 调用 shellscript 时,请参阅上面 @miquel 的评论
  • 我在脚本中有 mkdir,我使用 bash create.sh 在终端中运行脚本
  • @user1880760 好的,那么我建议你改写你的问题,因为它不是很清楚......你可以试试bash ./create.sh
  • create.sh 在您的当前目录中吗?
  • 如果当前目录中没有名为create.sh 的文件,则会收到您描述的错误。这可能是因为您将文件上传或保存到另一个目录,cd 到另一个目录,或者将其命名为 creat.shcreate.bash 或任何其他变体。
猜你喜欢
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 2019-05-23
  • 2019-12-01
  • 1970-01-01
  • 2011-02-14
  • 2013-11-30
  • 1970-01-01
相关资源
最近更新 更多