任何Bash脚本总是会找不到Command

时间:2015-09-08 01:40:22

标签: bash shell

所以我一直在尝试在OSX 10.9.5环境中运行一些简单的文件管理脚本,但每次我尝试运行一个脚本时,它首先说我没有权限所以我sudo命令然后抛出一个命令找不到错误。

例如

sudo ./hello.sh
输入密码后

将导致

sudo: ./hello.sh: command not found

hello.sh脚本由此组成。

#!/bin/bash 
echo 'hello world'

然而,如果我只是从终端线运行命令echo 'hello world',那么它打印就好了。 我检查了不正确的行结尾,但它们是\ n

仍然是终端/命令行使用的新手所以解释会很惊人。

2 个答案:

答案 0 :(得分:4)

我认为问题不在于您的用户帐户的权限,而在于文件本身。我刚刚完成了你所说的内容,它没有运行,我意识到,因为文件权限不允许你运行它。 <或者

chmod +x hello.sh 

或做

sh hello.sh

其中任何一个都应该有用。

答案 1 :(得分:0)

具有执行位

确保文件的执行位设置为

$ chmod +x hello.sh

在您的系统上bash不在/bin

您可以使用

确定系统上bash的安装位置
$ type -path bash

使用env搜索路径

您可以使用env搜索shell脚本声明,例如

#!/usr/bin/env bash