首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

shell 常用命令小结

2012-12-27 
shell 常用命令总结#!/bin/bashif [ $1 -gt 90 ]then  echo Good, $1elif [ $1 -gt 70 ]  then    echo

shell 常用命令总结

#!/bin/bash

if [ $1 -gt 90 ]
then
  echo "Good, $1"
elif [ $1 -gt 70 ]
  then
    echo "OK, $1"
  else
    echo "Bad, $1"
fi

exit 0


for day in Sun Mon Tue Wed Thu Fri Sat
do
  echo $day
done

# 如果列表被包含在一对双引号中,则被认为是一个元素



case "$var" in
 condition1 )
  statments1;;
 condition2 )
  statments2;;
 ...
 * )
  default statments;;
esac

数字比较
??? -lt,小于
??? -le,小于等于
??? -eq,等于
??? -ge,大于等于
??? -gt,大于
??? -ne,不等于


整数运算一般通过 let 和 expr 这两个指令来实现

如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1`
字符串比较
??? =
??? !=

????? >

??? <
???
if [ $a = "111" ] 中间必须加空格
-d file :file存在并是一个目录
???
-z str str为空,长度为0

-n str? str非空


更细致的文档推荐在字符串比较时尽量不要使用 -n ,而用 ! -z 来代替。

awk -F"," '{print $1}'

v_record=`echo $line|awk -F"," '{print $1}'`
??? v_time=`echo $line|awk -F"," '{print $2}'`
??? v_status=`echo $line|awk -F"," '{print $3}'`


无论是在 Shell 中对 BASH 脚本返回值的处理,还是在脚本中对函数返回值的处理,都是通过 "$?" 系统变量来获得。BASH 要求返回值必须为一个整数,不能用 return 语句返回字符串变量。


BASH 中通过 read 函数来实现读取用户输入的功能,如下面这段程序:

#!/bin/bash

echo Please enter your name
read NAME
echo "Hi! $NAME !"

exit 0


运算符??? 含义( 满足下面要求时返回 TRUE )
-e file??? ??? 文件 file 已经存在
-f file??? ??? 文件 file 是普通文件
-s file??? ??? 文件 file 大小不为零
-d file??? ??? 文件 file 是一个目录
-r file??? ??? 文件 file 对当前用户可以读取
-w file??? ??? 文件 file 对当前用户可以写入
-x file??? ??? 文件 file 对当前用户可以执行
-g file??? ??? 文件 file 的 GID 标志被设置
-u file??? ??? 文件 file 的 UID 标志被设置
-O file??? ??? 文件 file 是属于当前用户的
-G file??? ??? 文件 file 的组 ID 和当前用户相同
file1 -nt file2??? ??? 文件 file1 比 file2 更新
file1 -ot file2??? ??? 文件 file1 比 file2 更老



getopts的用法:

可以-d -e参数

:de: 第一个冒号忽略错误,第二个冒号表示参数接受值

#!/bin/sh
while getopts :de: opt;
do
case $opt in
d)
?echo "hello,world";;
e)
?echo $opt;;
esac
done



热点排行