运行bash脚本来运行python程序会出现错误:权限被拒绝

运行bash脚本来运行python程序会出现错误:权限被拒绝,python,bash,Python,Bash,嗨,我有一个bash脚本: #!/bin/bash declare -a list1 declare -a list2 list1=("Hello" "there" "honey") list2=("More" "strings" "here") declare -a joined joined=($(./pytest.py ${list1[@]} ${list2[@]})) echo ${joined[@]} 以下是python代码pytest.py: 我得到的错误是: ./pyba

嗨,我有一个bash脚本:

#!/bin/bash

declare -a list1
declare -a list2

list1=("Hello" "there" "honey")
list2=("More" "strings" "here")

declare -a joined

joined=($(./pytest.py ${list1[@]} ${list2[@]}))
echo ${joined[@]}
以下是python代码pytest.py:

我得到的错误是:

./pybash.sh: line 11: ./pytest.py: Permission denied
我已使用以下设置shell脚本的权限:

 chmod +x pybash.sh
它仍然给我同样的错误。
我做错了什么?

如果要执行pytest.py文件,请在其上执行chmod。

可能会添加:

#!/usr/bin/python
在python脚本开始时,将修复该问题?

添加一个shebang/dir/dir到脚本顶部并不能完全解决问题

您需要更改对文件的修改才能执行

使用chmod命令可以进行一些不同的修改,但我最喜欢的是:

chmod 755 filename.py
755允许所有者读取、写入和执行文件。任何其他用户只能读取和执行


查看

或者您可以简单地调用joined with python./pytest.py,而不是简单地调用pytest.py。此外,请尝试添加一个shebang行/usr/bin/env python,以便shell知道使用什么来执行脚本。您需要chmod+x pytest.py并添加shebang@dwerner提到的内容。注意,他实际上已经获得了shebang行,它只是不在代码块内。+1用于指出哪个文件仍然需要设置其权限位。这修复了一个尚未暴露的问题:
chmod 755 filename.py