码迷,mamicode.com
首页 > 系统相关 > 详细

shell常用命令

时间:2018-10-16 01:53:28      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:output   返回   文件   file   shel   world   learning   function   %s   

#!/usr/bin/env bash
# Date: 2018-05-28
# Description: shell script learning notes

# 变量赋值使用 $(data)
# 对变量进行引用或字符串组合时,使用 ${ } 将变量扩含起来
# 处理字符串,加双引号 " "


# script learning notes
function note1()
{
    # 脚本中执行或引入库函数
    . ./filename
    # 返回脚本所在目录
    cd `dirname  $0`
}


function note2()
{
    # 0  stdin      # 标准输入
    # 1  stdout     # 标准输出
    # 2  stderr     # 标准错误输出
    ./filename 1>output 2>error
    2>&1            # 标准错误重新定向到标准输出
    ./filename >/dev/null 2>&1  # 输出定向到黑洞设备,不显示输出
}


# comparison operator
function comparison_operator()
{
    # 文件比较运算符
    [ -e filename ]  # filename存在,则为真
    [ -d filename ]  # filename为目录,则为真
    [ -f filename ]  # filename为文件,则为真
    [ -L filename ]  # filename为符号链接,则为真
    [ -r filename ]  # filename可读,则为真
    [ -w filename ]  # filename可写,则为真
    [ -x filename ]  # filename可执行,则为真
    [ filename1 -nt filename2 ]  # filename1比filename2新,则为真
    [ filename1 -ot filename2 ]  # filename1比filename2旧,则为真

    # 字符串比较运算符
    [ -z string ]  # string长度为零,则为真
    [ -n string ]  # string长度为非零,则为真
    [ "str1" = "str2" ]  # 字符串是否相同
    [ "str1" != "str2" ]  # 字符串是否不同

    # 算术比较运算符
    -eq  # 等于
    -ne  # 不等于
    -lt  # 小于
    -le  # 小于或等于
    -gt  # 大于
    -ge  # 大于或等于
}


# positional paramter
function positional_parameter()
{
    $#  # 表示位置参数的数量
    $*  # 表示所有位置参数的内容 "a b c"
    $@  # 表示所有位置参数 "a" "b" "c"
    $?  # 表示命令执行后返回的状态,成功返回0; 不成功,返回非0
    $$  # 表示当前进程的进程号
    $!  # 表示后台运行的最后一个进程号
    $0  # 表示当前进程名
    $n  # (n为1-9)就是位置变量
}


# write log to file
function log()
{
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] $@" >> log.log
}


main()
{
    log "hell world"
}


main $@

shell常用命令

标签:output   返回   文件   file   shel   world   learning   function   %s   

原文地址:https://www.cnblogs.com/rustling/p/9795437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!