首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP执行Shell脚本Bash脚本文件返回命令输出详情

PHP执行shell脚本或者Bash脚本文件实例。system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数。1.通过system函数执行使用实例:";system($shell, $status);echo "";//shell命令执行结果和执行返回的状态值的对应关系...='red'>$shell";if ($status) { echo "shell命令{$shell}执行失败";} else { echo "shell命令{$shell}成功执行.../bin/bash开头,指示命令解释器,需要执行的命令每行一个,以;结尾,内容结尾可不带换行,否则status获取的是换行执行的结果(即空),if判断为空值则会输出命令执行失败,但实际上结尾换行符以上的命令是实际执行成功的...php$shell = "bash dig.sh";echo "";system($shell, $status);echo "";//注意shell命令的执行结果和执行返回的状态值的对应关系

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

如何Bash Shell 脚本显示对话框

这个教程给出几个如何使用类似zenity和whiptail的工具Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互。...Zenity 工具 Ubuntu安装zenity,运行: ? 用zenity创建消息框或者对话框的命令是不言自明的,我们会给你提供一些例子来参考。 创建消息框 ? ?...创建输入框并将输入值保存到变量 ? ? 输入后,值会保存在变量 $a 。 这是一个获取用户姓名显示的实际事例。 ? 这些是运行前面脚本的截图。 ? 框1 ? 输入框 ? 输入框 ? 输入框 ?...这是一个请求用户输入一个文件夹的路径输出它的大小的 shell 脚本。 ? 这是之前例子的一些截图: ? 输入框 ? 消息框 如果你终端下工作,帮助手册总是有用的。...结论 选择合适的工具显示对话框取决于你期望桌面机器还是服务器上运行你的脚本。桌面机器用户通常使用GUI窗口环境,也可能运行脚本并与显示的窗口进行交互。

2.5K10

如何Bash shell 脚本解析命令行选项

Bash 的选项解析 Bash 解析选项的策略是循环遍历所有传递给 shell 脚本的参数,确定它们是否是一个选项,然后转向下一个参数。重复这个过程,直到没有选项为止。 #!...实际的脚本,你可以使用 --verbose 和 -v 来触发详细输出)。 shift 关键字会使所有参数位移一位,这样位置 2($2)的参数移动到位置 1($1)。...脚本的末尾,$ALPHA 的值会输出到终端。 测试一下这个脚本: $ bash ./test.sh --alpha 1 $ bash ./test.sh $ bash .... Bash 检测参数 但上面的脚本还有一个问题:多余的参数被忽略了。 $ bash ....下面是新版脚本的测试: $ bash ./test.sh --config my.conf foo bar my.conf foo bar $ bash .

1.5K20

如何Bash脚本本身获得其所在的目录

问: 如何Bash脚本本身获得其所在的目录? 我想使用Bash脚本作为另一个应用程序的启动器。我想把工作目录改为Bash脚本所在的目录,以便我可以对该目录下的文件进行操作,像这样: $ ....但是以相对路径的方式去执行脚本时,获取的目录信息是相对路径,不能满足其他需要获取绝对路径的场景。 如果要获取绝对路径,可以使用如下方法: #!...: [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: shell编程$(cmd) 和 `cmd` 之间有什么区别...为什么我不能在脚本中使用"cd"来更改目录 为什么可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

22720

如何在Linux 系统上比较Bash脚本的字符串?

Bash 脚本中比较字符串的需求相对普遍,可用于继续执行脚本的下一部分之前检查某些条件。 字符串可以是任何字符序列。...本教程,我们将向您展示如何在Linux 系统上比较Bash 脚本的字符串,我们将在一个简单的 if/else Bash 脚本的上下文中展示这一点,这样您就可以看到开发脚本时测试这种情况是如何工作的...本教程,您将学习: 如何Bash 中比较字符串 比较字符串的 if/else Bash 脚本示例 Bash 脚本:字符串比较示例 例1 Bash 脚本,您通常会将一个或两个字符串存储为变量...总结 本教程,我们了解了如何Bash 脚本中比较字符串,尤其是 Bash 脚本的上下文中if/else。...当然,此功能可以扩展到更健壮的脚本,这些脚本可以读取用户的输入或使用 case 运算符等。这些都是 Bash 中比较字符串所需的所有比较方法。

3.8K00

linux: Shell脚本设计函数的成功和异常返回

本文将探讨如何在 Shell 脚本设计函数的成功和异常返回值,以便于更有效地处理错误和管理脚本的执行流程。 了解 Shell 函数的基础 Shell 函数是一组执行特定任务的命令集合。...函数可以接受参数,并且可以返回一个值,通常是一个退出状态码,用于指示函数的执行结果。...定义函数 Shell 脚本定义函数的基本格式如下: bash function_name() { # 函数体 } 设计成功返回 Shell 成功返回值通常是 0。...文档记录返回代码:脚本或函数的文档说明每个返回代码的含义。 一致性:整个脚本中保持返回值的一致性。 结论 Shell 脚本中正确设计和使用函数的返回值是确保脚本健壮性和可靠性的关键。...通过遵循上述指导原则,您可以更有效地处理错误,使您的脚本更容易理解和维护。

18110

linux26-命令除错不完全指南

每次命令执行后返回退出状态码都会用$?变量保存。 另外,我们也可以脚本的末尾指定exit xxx,设定xxx 使得该脚本返回指定的退出码。...但退出码的范围为0-255,因此如果退出码为大于该区间的数,则shell 会通过模运算取余。如300,则会返回44,300%256=44。...linux ,有如下的退出码: 0 命令成功结束 1 一般性未知错误 2 不适合的shell 命令 126 命令不可执行 127 为没找到命令 128 无效的退出参数 128+x 与linux 信号...c: command not found 如果我们希望脚本内置这种找错或终止的语句,可以使用set 命令。...对于管道符号组成的命令,shell 只会把最后一个子命令的返回值最为整个命令的返回值。

88720

3分钟短文 | Linux 命令正确的退出方式:exit 0

引言 通常,在编写Bash脚本时,需要在满足特定条件时终止脚本,或者根据命令的退出代码采取措施。 本文中,我们将介绍Bash exit内置命令和已执行命令的退出状态。 ?...退出状态 每个shell命令成功终止时都会返回退出代码。 按照惯例,退出代码为零表示命令已成功完成,非退出代码为零表示遇到错误。 特殊变量$?...以下示例,如果在文件 filename 内使用grep找到字符串“search-string”,则将以 0 退出(这在shell脚本为true): ?...下面是显示非脚本用户调用脚本如何终止脚本的示例: ? 如果您以root用户身份运行脚本,则退出代码将为零。否则,脚本将以status退出1。...写在最后 每个 shell 命令终止时,都会返回退出码, bash 脚本你可以灵活地使用,控制程序流程。 Happy coding :_) 我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

1.7K30

《Linux命令行与shell脚本编程大全》第十七章 创建函数

函数运行结束会返回一个退出状态码,有3种方法为函数生成退出状态码。...… 如果函数最后执行的语句失败了,这里就会返回非0,最后成功了(不管前面有没有失败)返回都是0. 17.2.2 使用return命令 bashshell使用return命令来退出函数返回特定的退出状态码...脚本主体部分定义了全局变量,那么函数内可以读取它的值。 函数内定义了全局变量,脚本的主体部分也可以读取它的值。 默认情况下,脚本定义的任何变量都是全局变量。...函数将该数组重组到新的数组变量脚本用fun函数的输出来重新生成一个新的数组变量 17.5 函数递归 函数的返回值直接用echo传递了。...而且一旦定义的函数,就可以整个系统中使用它了,不需要管PATH环境变量了。 例子: ?

671100

Shell流程控制

还是自定义的 Shell 函数,当它退出(运行结束)时,都会返回一个比较小的整数值给调用(使用)它的程序,这就是命令的退出状态 大多数命令状态0代表成功, 非0代表失败....也有特殊的命令,比如 diff 命令用来比较两个文件的不同,对于“没有差别”的文件返回 0,对于“找到差别”的文件返回 1,对无效文件名返回 2 Shell ,有多种方式取得命令的退出状态,其中 $?..., -w 判断文件是否存在并且可写, -n 用于检测字符串是否非空, 后续讲解. data > 运行结果 小结 1.什么是退出状态 每个命令运行后都会返回一个退出状态值, 大多数返回0代表成功,...fi 运行效果 字符串比较测试 语法 参数 说明 = 或 == 等于, 等于返回0代表成功,否则返回1代表失败 !...执行命令过程:终端会输出 #? 代表可以输入选择的菜单编号 演示1 脚本代码 #!/bin/bash echo "你的爱好是什么?"

2.4K40

Shell脚本的调试和错误处理(二)

下面是一些常见的Shell脚本错误处理技术:1.检查返回值每个Shell命令都有一个返回值,通常是0表示成功,非0表示失败。我们可以使用$?变量来获取上一个命令的返回值。...脚本,我们可以检查每个命令的返回值,并在出现错误时采取相应的处理措施。例如:#!/bin/bash# Error handling examplels /etc/passwdif [ $?...exit 1fi脚本,我们先执行了一个ls /etc/passwd命令,然后检查了该命令的返回值。如果返回值不是0,说明命令执行失败,此时我们输出错误信息使用exit命令退出脚本。...2.使用set -e命令set -e命令可以使脚本发生错误时立即停止执行。当set -e命令启用后,脚本会在执行任何一个命令失败时立即退出返回一个非零的退出码。例如:#!...脚本,当执行ls /etc/passwd命令失败时,脚本会立即退出,并且不会执行后面的echo语句。

1.3K10

一、问题

脚本是通过nohup java -jar &的方式启动,显示执行成功,但是服务却没启动,脚本如下: #!.../usr/local/joshua317-test-core-1.0-SNAPSHOT.jar & 也就是说当通过Jenkins构建完后推送到业务服务器,执行脚本时,脚本的 nohup 命令无法正常退出.../bin/bash echo "hello" >> /usr/local/test.txt /usr/local/test.txt中有内容,说明脚本是可以执行成功,同时也说明jenkins执行带有nohup...也就是说构建命令如果带有 nohup xxx & 触发构建后构建成功后,虽然但在构建任务的输出却显示没有问题,也没有任何报错,但是并没有执行shell脚本。...-jar /usr/local/joshua317-test-core-1.0-SNAPSHOT.jar" | at now set -e : 执行的时候如果出现了返回值为非零,整个脚本 就会立即退出

1.2K10
领券