精华内容
下载资源
问答
  • 使用shell调用php脚本

    2018-05-03 17:25:56
    linux系统下安装好的php运行环境,使用shell调用php脚本,附送工具
  • 需要用到Shell脚本每隔3秒钟去监控一个软件进程的运行状态,发现crond似乎只支持到分,不知道秒,怎么办呢? 第一种方法: 当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下: cat kick...
  • 函数定义:# func_name 函数名function func_name(){#函数体内容}或# func_name 函数名func_name(){#函数体内容}函数调用:func_name parm函数体中,可以通过$1 $2 ...$9接受函数调用中的变量...

    在代码复用及可维护性方面,函数有着巨大的优势,因此,把常用功能封装成函数是一件非常平常的事。shell脚本中,怎么定义函数及使用函数呢?

    函数定义:

    # func_name 函数名

    function func_name(){

    #函数体内容

    }

    # func_name 函数名

    func_name(){

    #函数体内容

    }

    函数调用:

    func_name parm

    函数体中,可以通过$1 $2 ...$9接受函数调用中的变量

    函数可以通过return 返回函数执行的结果

    可以通过下面一个简单例子,来看下在shell脚本中怎么定义使用函数 1、在/root/bin目录下新建函数文件main.fun

    vim /root/bin/main.fun

    2、在main.fun文件中编写函数findit内容

    #!/bin/sh

    function findit(){

    if [ $# -lt 1 ] ; then #判断函数参数个数

    echo "Usage: findit filename"

    return 1

    fi

    for loop #遍历调用函数的参数

    do

    find $HOME -name $loop -print

    done

    return 0

    }

    3、Shell中载入函数文件/root/bin/main.fun

    . /root/bin/main.fun

    4、

    检查载入文件

    set

    set命令将在shell中显示所有的载入函数

    5、调用函数

    findit mysql php #在home 目录查找文件mysql 和文件php

    展开全文
  • Unix/Linux下,shell脚本调用sqlplus的几种方式介绍:一、最简单的shell调用sqlplus#!/bin/bashsqlplus -S /nolog > sqlplus.log <conn scott/scottselect sysdate from dual;quitEOF二、sqlplus返回执行结果...

    Unix/Linux下,shell脚本调用sqlplus的几种方式介绍:

    一、最简单的shell调用sqlplus

    #!/bin/bash

    sqlplus -S /nolog > sqlplus.log <

    conn scott/scott

    select sysdate from dual;

    quit

    EOF

    二、sqlplus返回执行结果给shell

    方法一:

    #!/bin/bash

    biz_date=`sqlplus -S scott/scott <

    set heading off

    set pagesize 0;

    set feedback off;

    set verify off;

    set echo off;

    select sysdate from dual;

    exit

    EOF`

    echo $biz_date

    (注意:等号两侧不能有空格.)

    [oracle@toughhou shell]$ vi sqlplus.sh

    21-NOV-13

    方法二:

    注意sqlplus段使用 col .. new_value .. 定义了变量并带参数exit, 然后自动赋给了shell的$?

    #!/bin/bash

    sqlplus -S scott/scott <

    set heading off

    set pagesize 0;

    set feedback off;

    set verify off;

    set echo off;

    col biz_date new_value v_biz_date

    select sysdate biz_date from dual;

    exit v_biz_date

    EOF

    biz_date="$?"

    [oracle@toughhou shell]$ vi sqlplus.sh

    sqlplus.sh: line 11: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')

    21-NOV-13

    这里出warning是因为EOF后面有空格。(注意:结尾出的EOF后面不能有任何字符)

    去掉空格后结果如下:

    [oracle@toughhou shell]$ vi sqlplus.sh

    22-NOV-13

    三、shell程序传递参数给sqlplus

    sqlplus里可以直接使用, 赋变量的等号两侧不能有空格不能有空格.

    接收到的变量不能加引号。“select sysdate from $tb;"不能写成"select sysdate from '$tb';"

    #!/bin/bash

    tb=dual

    sqlplus -S scott/scott <

    set heading off

    set pagesize 0;

    set feedback off;

    set verify off;

    set echo off;

    select sysdate from $tb;

    exit

    EOF

    [oracle@toughhou shell]$ sh sqlplus.sh

    22-NOV-13

    四、为了安全要求每次执行shell都手工输入密码

    #!/bin/bash

    echo -n "Enter db password for scott: "

    read pwd

    sqlplus -S scott/$pwd <

    set heading off

    set pagesize 0;

    set feedback off;

    set verify off;

    set echo off;

    select sysdate from dual;

    exit

    EOF

    [oracle@toughhou shell]$ sh sqlplus.sh

    Enter db password for scott: scott

    22-NOV-13

    五、为了安全从文件读取密码

    对密码文件设置权限, 只有用户自己才能读写.

    [oracle@toughhou shell]$ echo scott > scott.pwd

    [oracle@toughhou shell]$ chmod 500 soctt.pwd

    [oracle@toughhou shell]$ chmod 500 scott.pwd

    [oracle@toughhou shell]$ ls -l scott.pwd

    -r-x------ 1 oracle oinstall 6 Nov 22 00:17 scott.pwd

    #!/bin/bash

    pwd=`cat scott.pwd`

    sqlplus -S scott/$pwd <

    set heading off

    set pagesize 0;

    set feedback off;

    set verify off;

    set echo off;

    select sysdate from dual;

    exit

    EOF

    linux中shell变量&dollar;&num;&comma;&dollar;&commat;&comma;&dollar;0&comma;&dollar;1&comma;&dollar;2的含义

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

    Linux中Shell

    Linux中Shell Shell是什么 ​ Shell是一个命令行解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,可以用Shell来启动.挂起.停止.编写一些程序. S ...

    linux中Shell标准输出错误 &gt&semi;&sol;dev&sol;null 2&gt&semi;&amp&semi;1 分析【转】

    Shell中可能经常能看到:>/dev/null  2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...

    &lbrack;转&rsqb;unix&sol;linux中的dup&lpar;&rpar;系统调用

    [转]unix/linux中的dup()系统调用    在linux纷繁复杂的内核代码中,sys_dup()的代码也许称得上是最简单的之一了,但是就是这么一个简单的系统调用,却成就了unix/linu ...

    linux中shell变量&dollar;&num;&comma;&dollar;&commat;&comma;&dollar;0&comma;&dollar;1&comma;&dollar;2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

    ASP&period;net 中手工调用WS&lpar;POST方式&rpar;

    ASP.net 中手工调用WS(POST方式)核心代码:string strUrl="http://localhost:21695/service1.asmx/getmythmod&quot ...

    Linux中shell变量&dollar;0&comma;&dollar;&quest;等含义

    linux中shell变量$#,$@,$0,$1,$2的基本含义: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

    随机推荐

    php获取实时汇率数据

    支付时常常会用到支付汇率,但汇率数据是实时的,没办法首先设定好,为避免亏损,只能做到实时的了,先推荐个php函数,能实时获取汇率数据.需要curl模块支持. function getExchangeR ...

    Android学习笔记

    1.问题:Error when loading the SDK:发现了以元素 'd:skin' 开头的无效内容 方法:删除了android-wear        用sdk\tools\lib下的de ...

    Delphi xe5 手机开发经验&lpar;新手级别&rpar;

    Delphi xe5 手机开发经验(新手级别) http://diybbs.zol.com.cn/1/34037_699.html http://www.delphitop.com/html/jiqi ...

    LNMP下防跨站、跨目录安全设置,仅支持PHP 5&period;3&period;3以上版本

    PHP 5.3.3以上的版本,可以修改/usr/local/php/etc/php.ini在末尾里加入: [HOST=www.vpser.net] open_basedir=/home/wwwroot ...

    关于jQuery,&dollar;&lpar;&quot&semi;&colon;button&quot&semi;&rpar; 中的冒号是什么意思?

    $(":button") 表示匹配所有的按钮.$("input:checked")表示匹配所有选中的被选中元素(复选框.单选框等,不包括select中的opti ...

    Logger之Logger&period;getLogger&lpar;CLass&rpar;

    之前一直在使用System.out.println()来调试.但是用这种方式开发项目部署到生产环境,会因为众多的控制台输出降低应用的性能.这时候Log4J就成为可平衡开发和部署应用的利器了. 在项目中 ...

    PHP 反射应用之一(插件框架)

    http://www.zui88.com/blog/view-205.html 反射,非常有用的一套东西,用来在运行时,分析代码,分析类的属性,方法,参数,实例化类,调用类的方法等等,从而实现框架,实 ...

    Eclipse运行Java简单实例

    运行eclipse前首先配置好JDK环境变量等  双击这句话可跳转配置环境变量详细步骤 运行eclipse软件 1.File菜单-New - project 2.Java Project - Next ...

    读《图解HTTP》有感-(确保WEB安全的HTTPS)

    写在前面 该章节分析当前使用的HTTP协议中存在的安全性问题,以及采用HTTPS协议来规避这些可能存在的缺陷 正文 1.HTTP的缺点 1.1.由于HTTP不具备加密功能,所以在通信链路上,报文是以明 ...

    Chapter 5 Blood Type——8

    He chuckled. "What are your plans?" 他窃笑道.“那你的计划是什么?” I blushed. I had been vacillating dur ...

    展开全文
  • shell_exec("unoconv -f pdf test.odt"); ?> (1)在终端中执行php test.php,此时生成了test.pdf文件 (2)在web端输入链接访问test.php,发现此时test.pdf文件没有生成。这时可以有80%怀疑权限问题(且php并...

    新建一个php文件(test.php)

    将下面的代码进行粘贴到新建的PHP文件中

    <?php

    shell_exec("unoconv -f pdf test.odt");

    ?>

    (1)在终端中执行php test.php,此时生成了test.pdf文件

    (2)在web端输入链接访问test.php,发现此时test.pdf文件没有生成。这时可以有80%怀疑权限问题(且php并没有报错)

    (3)进入test.php所在的目录,

    将下面的代码进行粘贴到test.php文件中

    <?php

    print_r(shell_exec("ls"));

    ?>

    在web端使用链接进行访问,发现可以运行的,这时有基本可以确定是权限的问题了

    (4)那么错误在什么地方可以看到呢,在终端下运行下面的命令

    find / -name auth.log

    比如 /var/log/auth.log

    (5)打开 auth.log找出问题所在可以发现报错为:www-data:user not in sudoers;............改怎么改呢

    (6)本人是在虚拟机中进行测试的,现在讲讲这个解决方法

    在终端下运行su root输入密码,这时你会发现不管你怎么输入密码均是错误的,那该怎么解决呢,不要急,听我慢慢讲来

    在终端下输入su passwd 这时会提醒你输入密码,随便输入一个密码如:123456,回车再次确认下密码;此时的root密码为123456了

    在终端下输入su root,输入刚刚设置的密码,你会发现你进入了root权限了,这时在终端下运行chmod u+w /etc/sudoers,

    在终端下输入vim /etc/sudoers,修改文件,将下面的话添加到文件中

    www-data ALL=(ALL) NOPASSWD: ALL;这边为啥是NOPASSWD:因为,你没有给www-data设置密码啊

    在终端下分别运行chmod u-w /etc/sudoers,exit

    (7)这时你再次在web使用链接运行test.php文件

    <?php

    shell_exec("unoconv -f pdf test.odt");

    ?>

    哈哈:文件出来了







    展开全文
  • 项目一 初识Linux Shell 20 [学习目标] 20 任务1.1 构建开发环境 22 任务1.2 vi/vim编辑器 33 1.2.1 vim使用实例 34 1.2.2 vim按键说明 36 任务1.3 Shell常用命令 41 1.3.1 基础命令 41 1.3.2 文件、目录操作命令 42...
  • 很多Linux用户不知道shell不仅能够编辑脚本,还能在脚本上调用另一个脚本文件,包括php文件,那么具体应该如何调用呢?下面小编就给大家介绍下Linux shell调用另一个脚本文件的方法,不会调用脚本的朋友可以来学习下...

    很多Linux用户不知道shell不仅能够编辑脚本,还能在脚本上调用另一个脚本文件,包括php文件,那么具体应该如何调用呢?下面小编就给大家介绍下Linux shell调用另一个脚本文件的方法,不会调用脚本的朋友可以来学习下。

    脚本 first (测试示例1)

    代码如下

    #!/bin/bash

    echo ‘your are in first file’

    问)在当前脚本文件中调用另外一个脚本文件?

    方法一: 使用 source

    脚本 second (测试示例2)

    #!/bin/bash

    echo ‘your are in second file’

    source first

    方法二: 使用 。

    脚本 second (测试示例3)

    #!/bin/bash

    echo ‘your are in second file’

    。 first

    source filename和 。 filename 应该是同一回事,都是在*当前*Shell环境中执行脚本。也可以使用sh filename,那是在当前Shell的子Shell中执行脚本。

    可以通过下面这两个脚本来体会三种调用方式的不同:

    1.sh

    #!/bin/bash

    A=B

    echo “PID for 1.sh before exec/source/fork:$$”

    export A

    echo “1.sh: $A is $A”

    case $1 in

    exec)

    echo “using exec…”

    exec 。/2.sh ;;

    source)

    echo “using source…”

    。 。/2.sh ;;

    *)

    echo “using fork by default…”

    。/2.sh ;;

    esac

    echo “PID for 1.sh after exec/source/fork:$$”

    echo “1.sh: $A is $A”

    2.sh

    #!/bin/bash

    echo “PID for 2.sh: $$”

    echo “2.sh get $A=$A from 1.sh”

    A=C

    export A

    echo “2.sh: $A is $A”

    执行情况:

    $ 。/1.sh

    PID for 1.sh before exec/source/fork:5845364

    1.sh: $A is B

    using fork by default…

    PID for 2.sh: 5242940

    2.sh get $A=B from 1.sh

    2.sh: $A is C

    PID for 1.sh after exec/source/fork:5845364

    1.sh: $A is B

    $ 。/1.sh exec

    PID for 1.sh before exec/source/fork:5562668

    1.sh: $A is B

    using exec…

    PID for 2.sh: 5562668

    2.sh get $A=B from 1.sh

    2.sh: $A is C

    $ 。/1.sh source

    PID for 1.sh before exec/source/fork:5156894

    1.sh: $A is B

    using source…

    PID for 2.sh: 5156894

    2.sh get $A=B from 1.sh

    2.sh: $A is C

    PID for 1.sh after exec/source/fork:5156894

    1.sh: $A is C

    $

    上面就是Linux shell调用脚本文件的方法介绍了,当你在调用php文件时,不一定使用php,也可使用shell命令实现。

    展开全文
  • Linux 定时执行shell 脚本

    千次阅读 2019-12-30 13:30:00
    2019年第 85 篇文章,总第 109 篇文章本文大约2000字,阅读大约需要6分钟crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令。定时执行sh...
  • php如何调用linux命令

    2020-08-19 09:21:20
    以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。 1,exec函数 <?php $test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令 exec...
  • 这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现。 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装。window下则需要自行下载dll组件加载,具体方法自行搜索。 ...
  • 最近公司有一个需求,需要调取同事开发的shell脚本,传入shell所需的值并唤起shell,获得shell执行的结果展示。 shell在测试服务器的宿主机上,PHP是放到docker容器内的,这就让人很无奈了,秉着办法总比困难多的...
  • 1 将windows下面创建好的转换,放到Linux某一个文件夹下面。如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面。注意里面的数据库用户名和密码可能需要改,如果是job文件如:job0816_01.kjb。记得把里面存的...
  • 有时web服务器脚本需要调用linux shell
  • php执行linux命令、shell脚本。以获取服务器运行状态举栗子
  • Linux/Windows反弹shell

    千次阅读 2021-05-28 08:11:34
    目录食用 Linux反弹shell bash反弹 加密bash反弹shell的流量 Python反弹 ...Windows反弹shell ...Powershell反弹nc shell ...Linux 反弹 shell 使用下面这条命令,该命令弹回来的shell是不可交互的,也就是比如vim...
  • 想在oj上加一个重启判题服务的按钮调用shell而已 1.使用su root进入root账户 修改/etc/sudoers权限 777 %sudo ALL=(ALL:ALL) ALL改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL %表示组 即sudo组的都可以免密码使用...
  • Linux系统中,除了PHP可以对文件目录进行查看操作外,shell命令也可以对文件目录进行一些操作,今天小编就和大家一起分享下如何使用shell命令查看目录及其子目录下的所有文件。使用shell命令查看目录及其子目录下的...
  • Linux反弹Shell方法

    2021-02-08 18:23:38
    文章目录Linux反弹Shell方法Linux标准文件描述符更改标准输出的位置更改标准输入的位置/dev/null重定向输入重定向输出重定向管道反弹shell的本质什么是反弹shell实现控制端和被控端之间的交互反弹shell方法...
  • Linux shell 脚本编写

    万次阅读 多人点赞 2018-01-30 12:24:10
    1、Unix&Linux,GUN,Ubuntu,Red Hat,Fedora。 2、Linux用户管理。 —Root用户,普通用户,用户组。 —useradd,passwd,usermod,finger,sudo(su),groupadd,groups,whoami,who。 3、文件和目录操作。 ...
  • php执行shell脚本

    万次阅读 2019-03-25 16:44:15
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 编写test.sh脚本如下 #! /bin/sh mkdir /www/a 很简单的一个shell脚本 创建一个文件夹 php脚本如下 system('/us...
  • 使用php调用shell脚本同步文件

    千次阅读 2016-07-05 19:59:42
    当你在上传文件的时候需要同步到另外机器的时候,可以执行shell脚本实现文件同步#! /bin/bash a=$1 b=$2 ip=$3 port=$4 passwd=$5 /bin/rpm -qa|/bin/grep -q expect if [ $? -ne 0 ];then echo "please install ...
  • Linux反弹shell

    千次阅读 2018-11-29 23:55:26
    目录 Bash反弹shell Python反弹shell 其他命令反弹shell 写入命令到定时任务文件 写入SSH公钥 ...当我们可以在远程Linux主机上执行任意...Linux 反弹 shell 使用下面这条命令,该命令弹回来的shell是不可交互的,...
  • 四、关于PHP运行linux环境中命令出现的问题 一、PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个)...
  • kali Linux shell编程基础到进阶

    千次阅读 2018-11-01 17:49:56
    前几天在群里听他们说不会shell编程就不算会linux,嘿,就我这暴脾气,学!干!嘿嘿!行了,不扯犊子了,犊子要生气了,最近学习了shell,感触颇多,我也参考了其他大佬的经验,看着视频课,学了些许基础,其实也...
  • linux shell 执行 php cli 的问题

    千次阅读 2018-02-03 09:43:50
    1、权限不足 没有执行权限 2、shell 脚本中执行的php路径是否为相对路径 3、设置开机启动、脚本中必须是绝对路径 4、如果脚本中会运行数据库 脚本设置开机启动必须延迟 不然脚本会出错 开机启动 /etc/rc.local
  • Linux_Linux Shell 用curl 发送请求

    万次阅读 2017-04-06 22:00:27
    linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等...一、Linux curl用法举例: 1. linux curl抓取网页: 抓取百度:     1 curl http://www.baidu.com
  • Linux论文基于shell脚本

    千次阅读 2018-06-27 15:51:08
    Linux下基于shell脚本的流量监控报警系统设计与实现 摘要:随着云计算的到来,相应的大数据和物联网也随之兴起。然而网络信息安全的形势非常严峻。现在网络服务器都是集群式分布,很多服务器集中起来一起进行同一种...
  • linux下使用shell发送http请求

    万次阅读 2017-11-23 10:29:42
    本文主要介绍如何在linux下使用shell发送http请求。一、curl1. get请求curl命令默认下就是使用get方式发送http请求。curl www.baidu.com2. post请求使用-d参数,形式如下:curl -d "param1=value1¶m2=value2" ...
  • 也有人说是四种,分别是工作目录执行、绝对路径执行、sh执行与shell环境执行其实工作目录执行与绝对路径执行都是把这个shell脚本作为可以执行程序,其实是相同的,一个是相对路径一个是觉得路径shell脚本作为可以...
  • shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,661
精华内容 12,264
关键字:

linuxphp调用shell

linux 订阅