【发布时间】:2016-02-29 08:14:58
【问题描述】:
我有一个.sh 文件,我想在不编写扩展名的情况下从 shell 执行它。
我做了什么:
- 我创建了一个目录并将其添加到 $PATH
- 我给了 file.sh chmod 711
- 并且该文件包含#!/bin/sh(我也尝试过 bash)。
但是,当我尝试在没有 sh 的情况下执行 myscript 时,我得到 command not found
而如果我尝试使用myscript.sh,我会得到正确的结果。
我该怎么办?
我也读过:How to run a shell script on a Unix console or Mac terminal? 和 executing shell script without calling sh implicitly 但没有解决方案
ls -l 的结果
ls -l /Users/Mitro/scripts
total 8
-rwx--x--x 1 Mitro staff 22 Nov 26 10:25 myscript.sh
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Mitro/scripts
【问题讨论】:
-
您正在尝试的确切命令是什么?不清楚你的意思。
-
我写了一个 sh 文件,只写了一个回显,我想通过输入 myscript 而不是 nmp.sh 来执行它
-
权限应该是755,这样每个人都有读取和执行权限。在无法从磁盘读取文件的情况下授予某人执行权限并没有多大好处。
标签: linux macos bash shell unix