为什么在Linux中使用./file2之后会得到“权限被拒绝”?
您正在尝试执行文件,并且您没有正确的权限。当你用你的文本编辑器创建一个新的Bash脚本(比如说Vim)时,你应该拥有以下权限:-rw-r--r--
。作为一个用户,你可以读写这个文件,但是你不能用./
来执行它。
如果要在不更改权限的情况下执行文件,可以使用以下命令:
bash myFile.sh
。如果你想执行一个文件
./
,你将不得不修改权限。类似的东西是好的:chmod +x myFile.sh
。如果您不想与
./
纠缠并喜欢从其他内置命令的任何位置调用myFile.sh
,请将可执行文件移动到PATH中的目录中。/usr/local/bin
应该是一个明智的选择。检查你的路径以echo $PATH
,以防万一......
我建议'$ HOME/bin'是一个更好的选择(到目前为止)随机命令。只有对机器上的每个人都有用的命令才属于'/ usr/local/bin'。 –
@JonathanLeffler感谢您的评论。你是完全正确的。为了方便,我建议'/ usr/local/bin',但使用'$ HOME/bin'会更好。 ;) – Badacadabra
.
指的是当前的工作目录和..
指父目录。因此./file2
表示“执行当前目录中名为file2的文件”。如果没有./
,shell将在PATH的所有目录中搜索file2。如果要执行它,请将chmod +x ./file2
的执行位添加并再试一次。如果您只想查看它,请尝试使用less ./file2
您正试图执行一个您没有权限的文件。要么您没有适当的权限,要么文件无法执行。 –
重复项是标题中问题的重复 - 这与您在问题主体中提供的问题不同。 –