当前位置: 首页 > 面试题库 >

如何在命令中将参数传递给linux

杜俊风
2023-03-14
问题内容

我需要稍后再运行一个mail.php文件,而不是让用户在提交register.php时等待发送验证电子邮件。

因此,我选择在1分钟后使用 at 命令在命令行中运行mail.php( 在register.php调用 ):

但是,当我处于at命令的交互模式时,我只能将参数发送到该php文件。

at now + 1 minute
at> php mail.php {email}     # {email} is the argument I want to pass

由于我希望这是自动的,因此我需要在运行时使用shell脚本:

at -f mail.sh

但是我找不到传递 {email} 参数的正确方法

我试图 在Shell中设置一个环境变量,但也徒劳无功:

register.php 文件中,我写道:

shell_exec('export email=foo@bar.com');
shell_exec('at -f mail.sh now + 1 minute');

mail.sh中 ,我写道:

#! /bin/bash
php mail.php $email

问题答案:

您可以从stdin中读取命令,而不是从文件中读取命令。(bash的)here-doc语法在这里很好用:

shell_exec('at now + 1 minute <<EOF
    php mail.php test@test.com
EOF
');


 类似资料:
  • 问题内容: 假设我Button在Python中使用进行了以下操作: 当我按下按钮时会调用该方法,但是如果我想向该方法传递一些参数呢? 我尝试使用以下代码: 这只是立即调用该方法,而按该按钮则无济于事。 问题答案: 我个人更喜欢lambdas在这种情况下使用,因为imo更加简单明了,并且如果你无法控制被调用的方法,也不会强迫你编写很多包装方法,但这当然是一个问题。 这就是使用lambda的方式(请注

  • 我使用atom-run(https://github.com/lsegal/atom-runner)运行内联我的nodejs程序。 使用此插件时,是否可以传递命令行参数?点击Alt R启动节点,但由于我的脚本需要参数,它失败了。 在运行之前,如何传递命令行参数?

  • 要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔:

  • 如果你需要在命令行下插入一个值,通常需要使用引号将其括起来,尤其是当其包含空格时更是如此。 shellquote 函数可以携带任意数量的参数(包括数组), 它会使用引号将每个参数都括起来并返回一个可以传递到 Shell 命令行上的以空格间隔的字符串。 在下面的例子中,我们想要创建一个用于文件改名的 exec 资源, 然而源文件名和目标文件名都包含空格,因此在命令行上需要正确地使用引号将它们括起来。

  • 问题内容: 我有一个在远程服务器上执行Shell脚本的Hudson作业。 它的shell命令是: 我将此构建标记为已参数化,并添加了一个字符串参数: 当我运行它时,会分配参数,但会将其传递到Shell脚本中。 问题答案: 参数化的Build Jenkins插件文档指出 由参数添加的所有环境变量均为 大写 在您的情况下,这应该起作用:

  • 问题内容: 我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动。我不确定如何在JavaScript中访问参数。我正在像这样运行节点: 这是我的服务器代码。Node.js帮助说这是可能的: 如何在JavaScript中访问这些参数?不知何故我无法在网上找到此信息。 问题答案: 参数存储在 以下是有关处理命令行参数的节点文档: 是一个包含命令行参数的数组。第一个元素是’node’