例如,我有一个名为file2
的文件,它回应了一些东西。
所以在shell中输入
之后# ./file2
显示
许可被拒绝
我在哪里错了?
答案 0 :(得分:3)
您正在尝试执行某个文件但您没有正确的权限。当您使用文本编辑器创建新的Bash脚本时(假设是Vim),您应具有以下权限:-rw-r--r--
。作为用户,您可以读取和写入此文件,但不能使用./
执行该文件。
如果要在不更改权限的情况下执行文件,可以使用以下命令:bash myFile.sh
。
如果要使用./
执行文件,则必须修改权限。这样的事情就可以了:chmod +x myFile.sh
。
如果您不想与./
斗争,并且喜欢从其他任何内置命令调用myFile.sh
,请将可执行文件移动到PATH中的目录中。 /usr/local/bin
应该是明智的选择。请使用echo $PATH
检查您的路径,以防万一...
答案 1 :(得分:1)
.
表示当前工作目录,..
表示父目录。所以./file2
表示"在当前目录"中执行名为file2的文件。如果没有./
,shell将在PATH的所有目录中搜索file2。如果要执行它,请使用chmod +x ./file2
添加执行位,然后重试。如果您只是想查看它,请尝试less ./file2