问题标签 [argv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 我正在尝试将一些 PHP 脚本作为 CLI 而不是通过 HTTP 运行。我如何让他们玩得很好?
我正在使用 FeedForAll 中的一些 PHP 脚本来连接 RSS 提要 (RSSmesh) 并将它们显示为 HTML (RSS2HTML)。
因为我打算相当密集地运行这些脚本,并且不希望产生的 HTTP 请求和带宽计入我的托管配额,所以我正在转向在一个伞式 PHP“批处理”脚本中在 Web 主机的服务器上运行它们,并通过 cron 调用此脚本(顺便说一下,这是一个 Linux 服务器)。
这是通过 HTTP 的(工作)示例请求:
这将产生所需的 HTML 输出。我希望它如何在命令行上工作的一个示例:
/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html
这是在“rss2html2-cli.php”中添加了正确的 shebang 行。我也可以在请求中指定可执行文件(“/usr/local/bin/php”),但我怀疑它会有所不同,因为我能够以任何方式运行另一个脚本(我自己编写的)而不会出现问题。
现在,RSS2HTML 和 RSSmesh 的不同之处在于,对于初学者来说,它们包含辅助文件——例如,它们都包含 XML 解析器脚本——我怀疑这是我有点不知所措的地方。
现在我正在从“伞”批处理脚本中调用 exec(),如下所示:
exec("/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html", $output)
但是没有产出。解决此问题的最佳方法是什么,我应该记住哪些“陷阱”?exec() 是解决这个问题的正确方法吗?它适用于其他(简单)脚本,但它会编写自己的输出。为此,如果可能,我想获取输出并将其从伞形脚本中写入文件。我也尝试过输出缓冲但无济于事。
我是否需要注意与包含相关的任何具体内容?现在它们在脚本中被指定为include_once("FeedForAll_XMLParser.inc.php");
并且指定的文件确实在同一个文件夹中。
更多信息:
- 这是一个 Linux 服务器。
- 我无法直接访问 shell,所以我不能直接在命令行上测试东西,一切都是通过 crontab 完成的。
- 我承认对 FeedForAll 脚本的支持还有很多不足之处,但如果可能的话,我想继续使用他们的脚本,如果只是因为我了解它们并且已经使用了一段时间。我研究了 Simplepie,但 FFA 脚本做了一些我没有看到 Simplepie 明显解决方案的事情,比如限制每个提要的项目数 (RSSmesh) 或限制描述长度 (RSS2HTML)。
-雅虎!管道出来了,它们为我的应用程序缓存数据的时间太长了。
如果您想查看代码,这里是 txt 文件形式的脚本。RSS2HTML2 和 RSSmesh 是 FeedForAll 脚本,FeedForAll_XMLParser... 是包含的解析器。请注意,我还没有修改这些来处理 $argv 等。但是,我在“scraper-universal-rss-cli”中使用了它,它与 CLI 配合得很好。
如果有人对此有任何想法可以分享,将不胜感激。先感谢您。
c - 如何删除主要功能的头部?
我正在尝试从单独的二进制文件中移动一些代码并将其放在我的主程序中。不幸的是,我无法模仿主函数的初始化变量。
我怎样才能创造argc
和argv
手工?有人可以给我一些示例作业吗?
因为它看起来像这样:
我想我可以像这样分配它们:
但它不起作用。谁能告诉我如何做到这一点?
c++ - C++ argv 路径说明符
在我的编程语言的解释器中,我必须正确处理这些部分,以防import
调用该函数。然后我需要检查这样的文件是否在/libs
文件夹中(与我的可执行文件位于同一位置!),如果它不存在,我必须检查当前脚本的目录。
- 如何从 argv 获取可执行文件所在目录的确切路径?
从路径末尾删除文件的最佳方法是什么,例如:
C:/a/b/c/file.exe
应该成为C:/a/b/c/
mpi - 为什么 MPI_Init 接受指向 argc 和 argv 的指针?
这就是我们使用 MPI_Init 函数的方式
为什么 MPI_Init 使用指向 argc 和 argv 的指针而不是 argv 的值?
visual-c++ - 将 char 转换为 TCHAR* argv[]
如何将文本输入TCHAR* argv[]
?
或者:我怎样才能从 转换char
为TCHAR* argv[]
?
bash - 如何访问函数内调用者的命令行参数?
我正在尝试在 bash 中编写一个函数来访问脚本命令行参数,但它们被替换为函数的位置参数。如果未显式传入命令行参数,该函数有什么方法可以访问它们?
python - 当 unittest 模块在脚本中时 sys.argv[1] 出现问题
我有一个脚本,它使用 sys.argv 执行各种操作并访问参数,但是当脚本到达代码的 unittest 部分时,它说没有用于此的模块。我拥有的脚本是:
假设我./script.py Hello
在命令行中输入。我得到的错误是:
如果我删除 unittest 模块,它就可以工作。此外,如果我删除 testrunner 日志并将其保留在:
这仍然行不通。
任何人都可以帮忙。
谢谢
我尝试了这个 hack,但它仍然尝试读取sys.argv
.
我已经尝试过了,argv
但它仍然无法读取额外的参数。
c# - 如何使用 argv 在 C# 中启动子进程?(或将 arv 转换为合法的 arg 字符串)
我有一个 C# 命令行应用程序,我需要在 windows 和 unix 的 mono 下运行。在某些时候,我想在给定一组通过命令行传入的任意参数的情况下启动一个子进程。例如:
不幸的是,System.Diagnostics.ProcessStartInfo 只接受一个字符串作为参数。这是诸如以下命令的问题:
在这种情况下,argv 看起来像:
请注意,“ab c”周围的引号被外壳剥离,所以如果我简单地连接参数以便为 ProcessStartInfo 创建 arg 字符串,我会得到:
这不是我想要的。
是否有一种简单的方法可以将 argv 传递给 C# 下的子进程启动,或者将任意 argv 转换为对 windows 和 linux shell 合法的字符串?
任何帮助将不胜感激。