云群网络www.idcyq.com - 专注于企业级云服务器、云计算、网站高防CDN加速、服务器租用托管服务 - 站长资讯中心 云群网络 - 致力提供市面上常用的操作系统基础资料、安全防护知识、以及PHP,ASP环境搭建等。帮助大家学习和收集有用的教程。我们的宗旨是为大众站长提供优质的服务。

Shell脚本命令的六个常用技巧

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。下面为大家介绍六个Shell脚本命令常用技巧

 

1.如何实现Shell脚本以DEAMON的方式运行,即实现Shell版的Fork

if [ "$1" != 'background' ] ; then
    scriptdir=$(cd "$(dirname "$0")"; pwd)
    scriptname=`basename $0`
    nohup /bin/bash ${scriptdir}/${scriptname}  background &>/dev/null  &
    exit 0fiecho "do some thing"

2.如何获取当前shell脚本所在的文件夹路径

SHELLDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

3.如何正确判断变量,避免语法错误

[ "x$var" == "x" ]

4.如何kill一个进程树,即kill掉父进程和所有子进程(在没有找到命令之前,我在网上找到的shell版)

#使用方法,treekill pidtreekill(){
    local father=$1
    childs=(`ps -ef | awk -v father=$father 'BEGIN{ ORS=" "; } $3==father{ print $2; }'`)
    if [ ${#childs[@]} -ne 0 ] ; then
        for child in ${childs[*]}
        do
            treekill $child        done
    fi
    kill -9 $father}

5.如何快速检测base脚本的语法错误,又不用执行脚本

#以下命令 并不会真正执行脚本,只会检查xx.sh的语法bash -n xx.sh

6.如何在bash中产生一定范围的随机数

## 使用方法 ####get_random 10 30function get_random() {
    local start_num=$1    local end_num=$2    local range1=`expr $end_num - $start_num`
    local range2=`expr $RANDOM % $range1`
    local ran_num=`expr $start_num + $range2`
    echo $ran_num}

 

2018-06-01 | 发布:cloud | 分类:新手教程 | 评论:0

发表留言: