当我试图让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
答案 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更改权限。