linux运行脚本_linux运行脚本查看日志 - CSDN
精华内容
参与话题
  • Linux执行shell脚本的5种方法总结

    万次阅读 2019-04-01 15:25:00
    Linux执行shell脚本的4种方法总结,即在Linux运行shell脚本的4种方法: 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码代码如下: cd /data/shell ./hello.sh ./的意思...

    Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法:

    方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

    复制代码 代码如下:

    cd /data/shell
    
    ./hello.sh


    ./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录 (/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。

     

    方法二:以绝对路径的方式去执行bash shell脚本:

    复制代码 代码如下:

    /data/shell/hello.sh

     

    方法三:直接使用bash 或sh 来执行bash shell脚本:

    复制代码 代码如下:

    cd /data/shell
    
    bash hello.sh


    复制代码 代码如下:

    cd /data/shell
    
    sh hello.sh


    注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三 是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用 指定bash路径自然也好理解了啊,呵呵……。

     

    方法四:在当前的shell环境中执行bash shell脚本:

    复制代码 代码如下:

    cd /data/shell
    
    . hello.sh


    复制代码 代码如下:

    cd /data/shell
    
    source hello.sh


    前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

    方法五:在shell中启动另外的shell

    在运行shell脚本时候,有三种方式来调用外部的脚本,exec(exec script.sh)、source(source script.sh)、fork(./script.sh) 
    1、exec(exec /home/script.sh): 
    使用exec来调用脚本,被执行的脚本会继承当前shell的环境变量。但事实上exec产生了新的进程,他会把主shell的进程资源占用并替换脚本内容,继承了原主shell的PID号,即原主shell剩下的内容不会执行。

    2、source(source /home/script.sh)

    使用source或者“.”来调用外部脚本,不会产生新的进程,继承当前shell环境变量,而且被调用的脚本运行结束后,它拥有的环境变量和声明变量会被当前shell保留,类似将调用脚本的内容复制过来直接执行。执行完毕后原主shell继续运行。

    3、fork(/home/script.sh)

    直接运行脚本,会以当前shell为父进程,产生新的进程,并且继承主脚本的环境变量和声明变量。执行完毕后,主脚本不会保留其环境变量和声明变量。

    总结:这样来看fork最灵活,source次之,exec最诡异。

     

    查看哪个用户用的什么shell登录:

    1.echo $SHELL          #查看当前登录的用户所用的shell
    2.grep username /etc/passwd 看最後一段    #查看想要知道的用户登录所用的shell

    展开全文
  • linux后台运行脚本的方法和命令

    万次阅读 多人点赞 2018-05-03 18:17:16
    执行脚本test.sh:./test.sh 中断脚本test.sh:ctrl+c 在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z 执行ctrl+z后,test.sh在后台是暂停状态(stopped),使用命令:bg number让其在后台开始运行(...

    后台运行脚本

    1. 执行脚本test.sh:./test.sh
    2. 中断脚本test.sh:ctrl+c
    3. 在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z
    4. 执行ctrl+z后,test.sh在后台是暂停状态(stopped),使用命令:bg number让其在后台开始运行(“number”是使用jobs命令查到的 [ ]中的数字,不是pid)

    1. 直接在后台运行脚本test.sh:./test.sh &
    2. 查看当前shell环境中已启动的任务情况:jobs
    3. 将test.sh切换到前台运行:fg %number(”number”为使用jobs命令查看到的 [ ] 中的数字,不是pid)
    4. 中断后台运行的test.sh脚本:先fg %number切换到前台,再ctrl+c;或是直接kill %number

    以上两种在后台运行test.sh的方法,当遇到退出当前shell终端时,后台运行的test.sh也就结束了。这是因为以上两种方法使得test.sh在后台运行时,运行test.sh进程的父进程是当前shell终端进程,关闭当前shell终端时,父进程退出,会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。所以要想退出当前shell终端时test.sh继续运行,则需要使用nohup忽略hangup信号。

    1. 不中断的在后台运行test.shnohup ./test.sh &(test.sh的打印信息会输出到当前目录下的nohup.out中)
    2. 使用jobs可看到test.sh处于running状态
    3. 使用ps -ef |grep test.sh可查看到正在运行的test.sh脚本进程
    4. 退出当前shell终端,再重新打开,使用jobs看不到正在运行的test.sh,但使用ps -ef可以看到

    在后台不中断的运行test.sh,可以使用nohup忽略hangup信号,或者使用setsid将其父进程改为init进程(进程号为1)

    1. 不中断的在后台运行test.sh另一个命令setsid ./test.sh &
    2. 使用ps -ef |grep test.sh可看到test.sh进程的父进程id为1

    测试脚本

    #!/bin/bash
    
    int=1
    while(( $int<=100 ))
    do
        echo $int
        let "int++"
        sleep 1
    done
    展开全文
  • Linux下定时执行脚本实例

    万次阅读 2018-05-31 10:49:20
    Linux下我们用crontab来实现定期执行脚本。查看crontab 输入命令:cat /etc/crontabcrontab -u //设定特定用户的定时服务crontab -l //列出当前用户定时服务内容 crontab -r //删除当前用户的定时服务crontab -e ...

    在Linux下我们用crontab来实现定期执行脚本。

    查看crontab     输入命令:cat /etc/crontab

    crontab -u //设定特定用户的定时服务
    crontab -l //列出当前用户定时服务内容
    crontab -r //删除当前用户的定时服务
    crontab -e //编辑当前用户的定时服务

    在设定编辑之前都建议列出服务查看一下:crontab -l

    显示有一个已经设定好的定时任务 每天九点10分执行 脚本命令: hadoop jar /tycrtest/test2.jar

    然后编辑定时任务:crontab -e  进入编辑界面会显示已存在的定时任务 


    * * * * * user_name command to be executed   

    user_name 表示执行定时任务的用户  不指定默认当前用户   

    command to be executed   表示要执行的脚本语句。

    按 i 键进入编辑   编辑完毕后 按esc  然后输入 :wq  报存并退出   注意不是输入wq  是:wq

    前面五位是定时执行的时间周期 说明如下:

    第一个 * 表示分钟:取值范围 0-59

    第二个 * 表示小时:取值范围0-23

    第三个 * 表示天数:取值范围1-31

    第四个 * 表示月份:取值范围1-12

    第五个 * 表示每周:取值范围0-6

    使用(-)可以划定范围

     如:0 0-3 * * *  脚本        表示每天0-3点整执行脚本

    使用(,)可以枚举时间

     如: 0,15,30,45 * * * * 脚本    表示每个小时的0分,15分,45分,30分会执行脚本

    使用(/)可以指定间隔

     如:* */8 * * * 脚本         表示每8小时执行脚本

    组合用法

    0-20/10 * * * * 脚本        表示在前20分钟内每隔10分钟执行脚本

    本人的一个定时脚本语句:

    10 9 * * * hadoop jar /tycrtest/test2.jar   默认root 每天9点10执行hadoop jar /tycrtest/test2.jar 这个脚本


    展开全文
  • Linux运行shell脚本文件 .sh

    千次阅读 2019-03-14 22:42:21
    https://blog.csdn.net/timchen525/article/details/76407735 https://blog.csdn.net/xdhuxc/article/details/80555092
    展开全文
  • Shell 脚本执行方式通常有如下三种: (1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)sourcescript-name或者. script-name。下面,分别介绍这三种方式的特点: (1...
  • 原文地址:https://blog.csdn.net/timchen525/article/details/76407735Shell 脚本执行方式通常有如下三种:(1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)source ...
  • linux下定时执行脚本

    千次阅读 2018-11-28 14:29:31
    1.安装crontab yum install vixie-cron yum install crontab 2.启动crontab服务 service crond start 用以下的方法启动、关闭这个cron服务:  service crond start //启动...service crond restart //...
  • linux下运行脚本

    2018-04-19 20:54:35
    第一次写脚本还是有点小开森~执行检查apache服务器是否执行脚本,每个半小时执行一次新建一个脚本,名字为checkrun.shtouch checkrun.sh然后有vim进行编辑,所有命令都要在该文件下执行vim checkrun.sh输入i进行...
  • Linux执行脚本文件 之前的mac电脑执行自己写的一个小脚本总是失败,后来知道在Linux下面要执行脚本要使用 chmod +x给文件赋权 chmod +x build.sh
  • Linux 执行脚本时&和&&

    千次阅读 2018-04-18 14:03:31
    &amp;表示在后台执行脚本,比如 ./ppp &amp; 。&amp;&amp;表示前一条指令执行成功后再运行下一条指令,如果前一条指令执行失败,则后面的指令不执行。
  • Linux下执行Python脚本

    万次阅读 多人点赞 2019-07-04 23:48:33
    1.Linux Python环境 Linux系统一般集成Python,如果没有安装,可以手动安装,联网状态可直接安装。Fedora使用yum install,Ubuntu使用apt-get install,前提都是root权限。安装完毕,可将Python加入环境变量...
  • 使用linux运行jmeter脚本 1、在linux安装java环境 2、在linux安装jmeter安装包 3、window下写的脚本上传到linux 4、linux环境下运行脚本 5、下载生成的文件 6、windows下运行生成的文件 ...
  • linux执行脚本

    2016-07-26 10:47:07
    转:http://blog.csdn.net/stpeace/article/details/45604015 bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法------dos--->unix 2015-05-09 20:25 ...
  • linux停止正在执行脚本

    万次阅读 2017-01-03 20:33:02
    正在执行一个压力测试脚本bench.sh,但是想中途停止进程,不再执行了。 可以用’ps -ef | grep 进程名‘ 查出进程,然后kill该进程。 kill 的用法:kill [信号代码] 进程ID 注:信号代码可以省略;...
  • linux下如何执行PHP脚本

    千次阅读 2018-04-27 09:19:24
    linux下如何执行PHP脚本在 Linux 下执行 php 脚本时通常是可以使用以下命令:1 #/usr/local/php/bin/php test.php 为简化输入可把此php执行程序 copy到系统命令目录下:1 #cp /usr/local/php/bin/php /usr/sbin/...
  • linux提供了很多方法可以直接将普通的命令、脚本、应用程序以后台的形式运行起来,这样就不会阻塞终端窗口的继续使用。常用的涉及后台执行的命令有十几多个,包括:&、ctrl+z、bg、fg、nohup、disown、...
  • 遇上了这个坑,搞了好久没搞定,参考了前辈的文章,终于搞好了,分享如下 原文地址:... Linux下执行.sh脚本错误:bin/sh^M: bad interpreter: No such file or directory  原因是.sh脚本
  • Linux下执行jmeter脚本

    2019-06-22 05:08:42
    1、在win上的Jmeter中编写...2、在Linux上,执行Jmeter脚本的命令是: #!/bin/bash base_dir=/usr/local/software/apache-jmeter-5.0 #文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` nohup $base_dir/bin...
  • linux执行mysql脚本文件

    千次阅读 2017-09-09 09:32:25
    mysql -uroot -p密码 登录到mysql 然后 use mydb; 执行你的脚本文件 source /website/sql/mydb.sql;
  • 我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。 ...
1 2 3 4 5 ... 20
收藏数 544,498
精华内容 217,799
关键字:

linux运行脚本