分享

shell常用命令

 卓柏卡布拉 2015-01-06
$0: shell或shell脚本的名字
$*:以一对双引号给出参数列表
$@:将各个参数分别加双引号返回
$#:参数的个数
$_:代表上一个命令的最后一个参数
$$:代表所在命令的PID
$!:代表最后执行的后台命令的PID
$?:代表上一个命令执行后的退出状态

$0   当前脚本的文件名
$1 ~ $n?   位置参数,为从1开始的数字,当n超过9后,使用${n},例如${10},$1是第一个参数,$2是第二个参数,${10}是第十个参数
$#   传入脚本的参数的个数
$*   所有的位置参数,但视为一个字符串
$@   所有以空白隔开的位置参数,即代表各位置参数组成的串行(每个都作为独立的字符串,可用  “for 变量 in 串行” 循环输出)。
$?   当前Shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件
$$   当前Shell进程的pid
$!   后台运行的最后一个进程的pid
$-   显示Shell使用的当前选项
$_   之前命令的最后一个参数


引用变量:

对Shell变量的引用方式很多,用这些方式可以方便的获取Shell变量的值,变量值的长度,变量的一个字串,变量被部分替换后的值等等。Shell变量常见引用方式如下:

$变量名

建议这样引用变量:${变量名}

 

环境变量:

使用下面的任意一个方法可以使name变为环境变量

name="john"
export name
export name="john"
declare -x name="john"

Shell在初始化的时候会在执行profile等初始化脚本,脚本中定义了一些环境变量,这些变量会在创建子进程时传递给子进程。



Shell当中的特殊变量

一、保留变量

$IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格。

$HOME 这个变量中存储了当前用户的根目录路径。

$PATH 这个变量中存储了当前 Shell 的默认路径字符串。

$PS1 表示第一个系统提示符。

$PS2 表示的二个系统提示符。

$PWD 表示当前工作路径。

$EDITOR 表示系统的默认编辑器名称。

$BASH 表示当前 Shell 的路径字符串。

$0, $1, $2, ...

表示系统传给脚本程序或脚本程序传给函数的第0个、第一个、第二个等参数。

$# 表示脚本程序的命令参数个数或函数的参数个数。

$$ 表示该脚本程序的进程号,常用于生成文件名唯一的临时文件。

$? 表示脚本程序或函数的返回状态值,正常为 0,否则为非零的错误号。

$* 表示所有的脚本参数或函数参数。

$@ 和 $* 涵义相似,但是比 $* 更安全。

$! 表示最近一个在后台运行的进程的进程号。

二、随机数

随机数是经常要用到的,BASH 中也提供了这个功能,请看下面这个程序:

1#!/bin/bash
2# Prints different random integer from 1 to 65536
3a=$RANDOM
4echo $a
5exit 0

这个程序可以在每次执行的时候随机的打印出一个大小在 1 到 65536 之间的整数。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多