【问题标题】:Bash script not runningBash 脚本未运行
【发布时间】:2015-05-27 15:42:56
【问题描述】:

我正在尝试学习 bash 脚本,我正在使用 Ubuntu Linux。我编写了一个简单的 Bash 文件来计算当前目录中的文件数。我在一个文件中编写了以下脚本:

#! /bin/bash

ls -1 | wc -l  

并以名称countFile保存文件。

但是当我尝试使用./countFile 执行脚本时,它没有执行。它显示以下错误:

bash: ./countFile: Permission denied  

countFile 在我的主目录中,所以我没有权限。我是做错了什么还是错过了一些重要的事情?此外,当我从终端运行 ls -1 | wc -l 命令时,它会为我提供正确的输出。
那么如何运行countFile 脚​​本呢?

【问题讨论】:

  • 您需要执行文件的权限。 chmod +x countFile
  • @Biffen 没有人再使用数字来获取权限了吗?
  • @JID 这取决于您是要将 all 权限设置为特定的还是仅修改某些权限。
  • 为什么要投反对票?一些解释可能有助于下次改进我的问题。是不是跑题了?

标签: linux bash shell ubuntu terminal


【解决方案1】:

当你这样给予时,

./countfile

您必须使用 chmod 将该文件设置为可执行文件。

chmod +x countfile

否则你可以像这样使用其他解释器。

sh countfile

【讨论】:

  • chmod +x,以免更改任何其他权限。
【解决方案2】:

在执行文件时,我们需要对该文件的执行权限, 我们可以更改权限或 我们只是运行

. countfile

hew . 将代表当前工作的 shell

【讨论】:

  • 不是“执行”脚本的好方法;它可能会弄脏你的外壳。
猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 2022-06-15
  • 1970-01-01
  • 2017-11-04
  • 2017-01-11
  • 2017-06-10
相关资源
最近更新 更多