zoukankan      html  css  js  c++  java
  • shell基础

      1 第一个shell脚本
      2 #!/bin/bash
      3 echo "Hello World"
      4 
      5 使用read从标准输入获取输入并赋值给变量,然后输出
      6 #!/bin/bash
      7 
      8 # Author : zjw
      9 # Copyright @ www.litsoft.com
     10 # Script follow here:
     11 
     12 echo "what is your name?"
     13 read PERSON
     14 echo "Hello, $PERSON"
     15 
     16 使用变量,并使用了for循环
     17 #!/bin/bash
     18 
     19 for skill in Ada Coffe Action Java
     20 do
     21     echo "I am good at ${skill} Script."
     22 done
     23 
     24 echo "Over"
     25 
     26 重定义变量
     27 #!/bin/bash
     28 
     29 myUrl="Http://www.litsoft.com"
     30 echo ${myUrl}
     31 
     32 myUrl="Http://www.myblog.com"
     33 echo ${myUrl}
     34 
     35 echo "Over"
     36 
     37 
     38 只读变量
     39 #!/bin/bash
     40 
     41 myUrl="Http://www.litsoft.com"
     42 echo ${myUrl}
     43 
     44 readonly myUrl
     45 
     46 myUrl="Http://www.myblog.com"
     47 echo ${myUrl}
     48 
     49 echo "Over"
     50 
     51 
     52 删除变量
     53 #!/bin/bash
     54 
     55 myUrl="Http://www.litsoft.com"
     56 echo ${myUrl}
     57 
     58 unset myUrl
     59 
     60 #myUrl="Http://www.myblog.com"
     61 echo ${myUrl}
     62 
     63 echo "Over"
     64 
     65 
     66 特殊变量,命令行参数
     67 #!/bin/bash
     68 
     69 echo "File Name : $0"
     70 echo "First Parameter : $1"
     71 echo "Second Parameter : $2"
     72 echo "Quoted Values : $@"
     73 echo "Quoted Values : $*"
     74 echo "Total Number of Parameters : $#"
     75 
     76 
     77 变量替换
     78 #!/bin/bash
     79 
     80 a=10
     81 echo -e "Value of a is $a 
    "
     82 echo "Over"
     83 
     84 
     85 命令替换
     86 #!/bin/bash
     87 DATE=date
     88 echo "Date is $DATE"
     89 
     90 USERS=who | wc -l
     91 echo "Logged in user are $USERS"
     92 
     93 UP=date; uptime
     94 echo "Uptime is &UP"
     95 
     96 
     97 变量替换
     98 #!/bin/bash
     99 
    100 echo ${var:-"Variable is not set"}
    101 echo "1 - Value of var is ${var}"
    102 
    103 echo ${var:="Variable is not set"}
    104 echo "2 - Value of var is ${var}"
    105 
    106 unset var
    107 echo ${var:+"This is default value"}
    108 echo "3 - Value of var is $var"
    109 
    110 var="Prefix"
    111 echo ${var:+"This is default value"}
    112 echo "4 - Value of var is $var"
    113 
    114 echo ${var:?"Print this message"}
    115 echo "5 - Value of var is ${var}"
    116 
    117 
    118 ===========================shell运算符============================================
    119 算术运算符
    120 #!/bin/bash
    121 
    122 val= expr 2 + 2
    123 
    124 echo "Total value : $val"
    125 
    126 #!/bin/bash
    127 
    128 a=10
    129 b=20
    130 val= expr $a + $b
    131 echo "a + b : $val"
    132 
    133 val= expr $a - $b
    134 echo "a - b : $val"
    135 
    136 val= expr $a * $b
    137 echo "a * b : $val"
    138 
    139 val= expr $b / $a
    140 echo "b / a : $val"
    141 
    142 val= expr $b % $a
    143 echo "b % a : $val"
    144 
    145 if [ $a == $b ]
    146 then
    147     echo "a is equal to b"
    148 fi
    149 
    150 if [ $a != $b ]
    151 then
    152     echo "a is not equal to b"
    153 fi
    154 
    155 
    156 关系运算符
    157 #!/bin/sh
    158 
    159 a=10
    160 b=20
    161 if [ $a -eq $b ]
    162 then
    163     echo "$a -eq $b : a is equal to b"
    164 else
    165     echo "$a -eq $b : a is not equal to b"
    166 fi
    167 
    168 if [ $a -ne $b ]
    169 then
    170     echo "$a -ne $b : a is not equal to b"
    171 else
    172     echo "$a -ne $b : a is equal to b"
    173 fi
    174 
    175 if [ $a -gt $b ]
    176 then
    177     echo "$a -gt $b : a is greater than b"
    178 else
    179     echo "$a -gt $b : a is not greater than b"
    180 fi
    181 
    182 if [ $a -lt $b ]
    183 then
    184     echo "$a -lt $b : a is less than b"
    185 else
    186     echo "$a -lt $b : a is not less than b"
    187 fi
    188 
    189 if [ $a -ge $b ]
    190 then
    191     echo "$a -ge $b : a is greater or equal to b"
    192 else
    193     echo "$a -ge $b : a is not greater or equal to b"
    194 fi
    195 
    196 if [ $a -le $b ]
    197 then
    198     echo "$a -le $b : a is less or equal to b"
    199 else
    200     echo "$a -le $b : a is no less or equal to b"
    201 fi
    202 
    203 
    204 布尔运算符
    205 #!/bin/bash
    206 
    207 a=10
    208 b=20
    209 
    210 if [ $a != $b ]
    211 then
    212     echo "$a != $b : a is not equal to b"
    213 else
    214     echo "$a != $b : a is equal to b"
    215 fi
    216 
    217 if [ $a -lt 100 -a $b -gt 15 ]
    218 then
    219     echo "$a -lt 100 -a $b -gt 15 : return true"
    220 else
    221     echo "$a -lt 100 -a $b -gt 15 : return false"
    222 fi
    223 
    224 if [ $a -lt 100 -o $b -gt 100 ]
    225 then
    226     echo "$a -lt 100 -o $b -gt 100 : return true"
    227 else
    228     echo "$a -lt 100 -o $b -gt 100 : return false"
    229 fi
    230 
    231 if [ $a -lt 5 -o $b -gt 100 ]
    232 then
    233     echo "$a -lt 100 -o $b -gt 100 : return true"
    234 else
    235     echo "$a -lt 100 -o $b -gt 100 : return false"
    236 fi
    237 
    238 
    239 字符串运算符
    240 #!/bin/bash
    241 
    242 a="abc"
    243 b="efg"
    244 
    245 if [ $a = $b ]
    246 then
    247     echo "$a = $b : a is equal to b"
    248 else
    249     echo "$a = $b : a is not equal to b"
    250 fi
    251 
    252 if [ $a != $b ]
    253 then
    254     echo "$a != $b : a is not equal to b"
    255 else
    256     echo "$a != $b : a is equal to b"
    257 fi
    258 
    259 if [ -z $a ]
    260 then
    261     echo "-z $a : string length is zero"
    262 else
    263     echo "-z $a : string length is not zero"
    264 fi
    265 
    266 if [ -n $a ]
    267 then
    268     echo "-n $a : string length is not zero"
    269 else
    270     echo "-n $a : string length is zero"
    271 fi
    272 
    273 if [ $a ]
    274 then
    275     echo "$a : string is not empty"
    276 else
    277     echo "$a : string is empty"
    278 fi
    279 
    280 
    281 文件测试运算符
    282 #!/bin/bash
    283 
    284 file="/mnt/hgfs/work/mycode/shell/1.sh"
    285 
    286 if [ -r $file ]
    287 then
    288     echo "File has read access"
    289 else
    290     echo "File does not have read access"
    291 fi
    292 
    293 if [ -w $file ]
    294 then
    295     echo "File has write permission"
    296 else
    297     echo "File does not have write permission"
    298 fi
    299 
    300 if [ -x $file ]
    301 then
    302     echo "File has execute permission"
    303 else
    304     echo "File does not has execute permission"
    305 fi
    306 
    307 if [ -f $file ]
    308 then
    309     echo "File is an ordinary file"
    310 else
    311     echo "This is a spcial file"
    312 fi
    313 
    314 if [ -d $file ]
    315 then
    316     echo "File is a directory file"
    317 else
    318     echo "This is not a directory file"
    319 fi
    320 
    321 if [ -s $file ]
    322 then
    323     echo "File size is zero"
    324 else
    325     echo "File size is not zero"
    326 fi
    327 
    328 if [ -e $file ]
    329 then
    330     echo "File exists"
    331 else
    332     echo "File does not exist"
    333 fi
  • 相关阅读:
    CISCO设备的一些硬件知识
    引用 DOS查QQ好友IP(另附入侵方法)
    【转】端口入侵常用工具分析
    修改CentOS默认yum源为国内yum镜像源
    使用Runtime类运行本地可执行文件
    英汉小词典 java随机存取文件流应用 version1.0
    8086/8088汇编过程练习 实现登录界面及其验证
    批处理伪加密
    快速启动中【显示桌面】的还原方法
    批处理字符串偏移指针
  • 原文地址:https://www.cnblogs.com/lit10050528/p/3943361.html
Copyright © 2011-2022 走看看