- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
请直接跳到 EDIT 3 以了解此问题的原因(本文结尾)
TL;DR — 编辑器没有保存 shebang 行,但我不确定为什么。
我制作了一个脚本来清理下载文件夹(这主要是一个学习的东西)。但是,我无法将其用作 CLI cmd。
如果我从它所在的目录运行脚本,它很好并且可以做我想做的事
vco@geoHP:~/bin$ python3 clean_downloads.py
这很好用。
脚本的第一行是:
#!/usr/bin/python3
据我所知,哪个是正确的?
然后在我的 .bashrc 文件底部:
119 # Modify the existing variable 'PATH'
120 # 'export' means make this available globally, instead of just for this file .
121
122 export PATH=$PATH:/home/vco/bin
这似乎也是需要的?
所以当我尝试从终端运行这个脚本时(几分钟后)我得到了一个错误:
vco@geoHP:~$ clean_downloads.py
from: too many arguments
/home/vco/bin/clean_downloads.py: line 24: syntax error near unexpected token `}'
/home/vco/bin/clean_downloads.py: line 24: ` }'
vco@geoHP:~$
所以我不确定为什么会这样,正如我所说,当脚本从它所在的目录运行时它运行良好......我用谷歌搜索了错误,它似乎是 Bash,而不是 Python 语法错误。
所以我猜它试图在 bash 而不是 Python 中运行我的脚本?
感谢任何帮助解决/解决这个问题的人。
here's a link to the script if needed, not sure if its relevant though
编辑 - 1
@Andrew - 我运行了命令
vco@geoHP:~$ bash --norc --noprofile PATH=/home/vco/bin clean_downloads.py
得到了
vco@geoHP:~$ bash --norc --noprofile PATH=/home/vco/bin clean_downloads.py
bash: PATH=/home/vco/bin: No such file or directory
vco@geoHP:~$
编辑 2 -
脚本设置为执行 -
vco@geoHP:~/bin$ ls -l
total 16
-rwxrwxrwx 1 vco vco 1699 Sep 29 22:36 clean_downloads.py
-rw-rw-r-- 1 vco vco 2184 Oct 3 14:47 functions.py
drwxrwxr-x 2 vco vco 4096 Sep 20 18:24 logs
-rwx------ 1 vco vco 479 Sep 21 18:34 pythonRsync.py
vco@geoHP:~/bin$
这是在 /usr/bin
目录中执行 ls
以检查 python3
是否在其中的结果:
vco@geoHP:/usr/bin$ ls | grep python3
dh_python3
idle-python3.4
python3
python3.4
python3.4m
python3m
vco@geoHP:/usr/bin$
编辑 3 -
我找到问题了!感谢所有帮助;出于某种原因,Sublime Text 实际上并没有添加 shebang?!我不知道它是如何工作的(或没有工作),但我在 Gedit 和 VIM 中打开了文件并且 shebang 不在第一行,我肯定会在 Sublime 中保存文件。我还仔细检查了它是否已保存,但它没有用。所以这对我来说很奇怪,我不确定是否有人知道为什么会这样?
我会把它作为对这篇文章的回答,但我不确定原因是什么,也不能真正解释太多,也许其他人知道为什么会发生这样的事情?
感谢大家的建议:)
最佳答案
您的脚本未设置为可执行。因此,shebang 行未被使用,您的 shell 正在退回到尝试运行脚本本身。
您需要将脚本设置为可执行。 chmod 755 clean_downloads.py
。
关于尽管设置了 $PATH 和 shebang,Python 脚本仍然可以从目录运行,但不能作为 CLI cmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180665/
我在全局范围内安装了最新的 angular-cli,并且我的项目正在成功构建。 在阅读另一个问题的建议解决方案时,(https://github.com/angular/angular-cli/iss
根据official docs关于 .angular-cli.json 配置文件,仅支持 main、test、polyfills 作为 webpack 入口文件。 如何通过定义 .angular-cl
我想在s3存储桶中搜索文件名abc.zip,并且有将近60个存储桶,每个存储桶都有2到3个级别的子目录或文件夹。我尝试使用AWS CLI命令执行搜索,以下是我尝试过的命令,但即使文件存在于存储桶中,也
我正在尝试在 C++/CLI 中查找赋值运算符和复制构造函数的示例。我在 Google 上花了很多时间,但令人惊讶的是我找不到一个看起来很常见的例子。 最佳答案 .NET 语义没有复制构造函数或赋值运
我需要获取另一个窗口的句柄。 这是它的代码: private: System::Void btn_find_Click(System::Object^ sender, System::EventAr
有点好奇实际上有多少人使用 C++/CLI?那么有多少人在使用它呢?人们是否只在托管环境下寻找程序员的特定工作?围绕 c++/cli 的社区有多大?从我目前看到的情况来看,有不少语法变化,作为 C++
我正在阅读一些 C++/CLI Material ,并且遇到了文字字段的概念: literal int inchesPerFoot = 12; 这是否比 const 更可取,因为 const FIEL
通过 npm install -g angular-cli@latest 安装 Angular CLI (angular-cli@1.0.0-beta.16) 失败,出现以下错误 npm-debug.
我正在尝试在我的 Ember CLI 应用程序中配置适配器以根据环境使用不同的主机。在开发中,我希望它是默认的当前主机(让我通过 --proxy 选项自定义它,但在生产中我知道它将是 http://s
我最近开始使用 Angular/CLI 工具,我在执行文件时遇到了一个问题,那就是我运行时 ng serve 那么这个命令可以帮助我们在源文件中进行任何更改时自动重新加载站点,但在我的系统中它没有发生
是否有推荐的方法通过 c++ cli 包装 native c++ 库? 最佳答案 不确定是否一种尺寸适合所有人,但是,是的,这很大程度上是一个机械过程。您的 ref 类包装器应该声明一个私有(priv
我有一个关于为要在 C# 中使用的 native C++ 类创建 C++ CLI 包装器的问题。 这是一个示例代码: #include "stdafx.h" #pragma once using na
下面的代码打印 0 和 3。这是代码生成错误吗?我在 .NET 4.0 下使用 Visual Studio 2012 Update 3 RC 运行它 #include "stdafx.h" using
它是如何工作的?它是否有不同的部分 - 有些方法是托管的,有些是非托管的,它是否将每个方法都转换为托管的,试图保持所有东西都处于托管状态并在必须时进行互操作调用? 最佳答案 三种不同的compiler
如果我没记错的话,函数必须是 CLR 世界中类的成员,而全局函数在 C++/CLI 中是可能的。这是否意味着这些全局函数是某种隐藏的“全局”类的一部分?如果是这样,出于反射目的,人们将如何获取其类型?
如何在 Angular 中重建我的项目。我首先使用 ng build 构建它,但无法再次执行该命令,因为它不会让我更改文件夹。 我收到此错误消息: EPERM:不允许操作,lstat 是否有另一个命令
我遇到了两个相互引用的类的问题。我曾尝试使用接口(interface)来解决问题,但遇到了其他问题,例如类重新定义。我只是不确定如何正确执行此操作。 这是我正在做的事情的一个例子。注意:我已经去掉了所
我是 React.js 的新手,我正在尝试从 tutorialspoint 上的教程中学习但我遇到了错误。这是我执行 npm start 命令时控制台上的错误: C:\Users\HP\Desktop
我正在尝试将我的 angular cli 和 angular core 从 12 升级到 13,但看起来存在对等依赖性问题。有人遇到过这个问题吗? npx @angular/cli@13 update
我正在我的 ubuntu 上安装 influxdb_2.0.9,我按照这里的说明操作: https://docs.influxdata.com/influxdb/v2.0/install/?t=Lin
我是一名优秀的程序员,十分优秀!