chmod:更改'my_script.sh'的权限:不允许操作

时间:2016-07-30 17:04:41

标签: linux bash shell

当我试图让shell脚本显示错误时,我必须做什么?

Traceback (most recent call last):
File "nlpQ2.py", line 27, in <module>
X = vectorizer(TEXT)
TypeError: 'CountVectorizer' object is not callable

[rehamadel@localhost bin]$ sudo vi my_script.sh [sudo] password for rehamadel:

[rehamadel@localhost bin]$ ls -l my_script.sh

3 个答案:

答案 0 :(得分:7)

解决不允许的操作错误:

sudo chmod u+x my_script.sh

您通过以下方式创建了文件:

sudo vi my_script.sh
# editing

这意味着,文件的所有者和组是root。默认情况下,您不能更改它的文件。您需要更改权限(chmod执行此操作)或更改所有者:

sudo chown you:yourgroup my_script.sh

这应该这样做。省去麻烦,无需通过sudo创建文件。

答案 1 :(得分:3)

您已使用 root 用户作为所有者创建了文件my_script.sh(因为您使用了sudo),这就是您不允许更改权限的原因作为你自己

因此,请使用sudo chmod u+x my_script.sh,但请注意,这将使该文件仅对 root 用户可执行。

要使文件可供所有人使用,请使用sudo chmod a+x my_script.sh

答案 2 :(得分:0)

我遇到此错误是因为我通过winscp上传了文件,并试图在Linux窗口上更改权限。 我能够通过winscp更改权限。