zoukankan      html  css  js  c++  java
  • Shell学习笔记——变量

    变量赋值时不需要$符号,且=前后不能有空格

    赋值时可以用=`命令`,将命令运行的结果值赋值过去,这里用到的是反引号

    $0 $1 $2 - $9表示命令行的参数,并且可以通过shift将后面的参数移到前面来以获得更多参数

    read可以读入参数,也可以通过重定向从文件读入,并且最后一个参数会把剩下所有内容读入,不够则为空串。IFS用于设置读取时候的分隔符。

    $* 和$@是所有参数,不加双引号则单个单词,加双引号则前者把所有的处理成一个,后者把双引号引起来的处理成一个

    $?是上一条命令的错误码。$PIPESTATUS是前一次管道中命令的返回值,是个数组,不能逐元素处理,否则会被上条命令覆盖,需要一次处理

    可以通过unset或者将变量赋成空串来删除变量

    因为使用未赋值变量时默认值为0,所以如果对变量拼写错误的话很难发现

    $RANDOM返回随机数0-32767之间,但被赋值后失去作用

    $SECONDS每过1秒加1,可中途赋值相当于重设时钟,但一旦被删除则功能消失,赋非整数相当于赋0

    ${FUNCNAME[i]}是当前所在函数名,且i从0开始变化,可以获得调用栈,类似的BASH_SOURCE是文件名,BASH_LINENO是行号

    PWD当前工作目录,OLDPWD上一个工作目录。可用'pwd'获取当前目录,cd - 可以退回之前目录。HOME是用户主目录,也可以用~表示。

    time可以获得用户模式和系统模式的调用时间以及总时间,同时可以通过TIMEFORMAT设置时间格式

    $PPID,调用当前脚本的进程ID,$$自身的进程ID

  • 相关阅读:
    【转】In ASP.NET using jQuery Uploadify upload attachment
    golang 初体验
    Node.js(express) + MongoDB(mongoose) 简单开发(二)
    Node.js(express) + MongoDB(mongoose) 简单开发(一)
    windows下修改mysql的root密码
    新网站添加百度官方认证
    手写单例模式
    浏览器内核
    IE内核浏览器
    没有猜中开头,更加没有预料结尾的我,正努力走在向程序媛发展的道路上……
  • 原文地址:https://www.cnblogs.com/unionfind/p/2932393.html
Copyright © 2011-2022 走看看