shell基本语法

原创

Linux学习笔记之一 ---Shell语法(1)

   只要在linux下运维或者完成某些功能,都会接触到shell脚本的编写,Shell容易而强大,但是有时候查找语法确是零碎的,特别在天朝下很多都是CTL+C,CTL+V而形成的资料,这里只是记录学习,如有错误,多多包涵和指教。

   开始学习吧:

Shell 语法 :

1.变量

   Linux是区分大小写的系统;使用变量名前面加上$来访问变量的内容,为变量赋值时,只是需要变量名,变量会根据需要自动创建


 
 
  1. $salutation=hello
  2. $echo $salutation
  3. hello
  4. $salutation= "YesDear"
  5. $echo $salutation
  6. YesDear

1.1 read 命令等待用户输入并且赋值


 
 
  1. $read salutation
  2. Wiegeht's
  3. $echo $salutation
  4. Wiegeht's


1.2 引号的使用

 双引号不会影响变量的替换,单引号和反斜杠不进行变量转换


 
 
  1. $varTest= "Test"
  2. $echo $varTest
  3. Test
  4. $echo "$varTest"
  5. Testg
  6. $echo '$varTest'
  7. $varTest
  8. echo \$varTest
  9. $varTest


1.3环境变量


$0:shell脚本的名字

脚本的进程号,脚本通常使用它生成一个临时文件eg:/tmp/tmpfile_脚本的进程号,脚本通常使用它生成一个临时文件eg:/tmp/tmpfile_

$#传给给脚本的参数个数


2.条件

test或[命令

eg1:检查一个文件是否存在


 
 
  1. if test -f fred.c
  2. then
  3. ....
  4. fi
  5. or
  6. if[ test -f fred.c]; then
  7. ....
  8. fi
ps:[ A ]和检查内容A之间需要空格,如果想if和then同一行,那么需要分号

2.1字符串比较
str1 = str2    相等为真
str2 != str2   不相等为真
-n str1          不为空为真
-z str1           为空为真

2.2数字比较
A -eq B   相等为真
A -ne B   不相等为真
A -gt B    A>B
A -ge B   A>=B
A -lt  B    A<B
A -le B    A<=B


2.3文件条件测试
-d  file 为目录为真
-e  file 存在为真,尽量使用-f
-f   file 存在为真
-g  file 如果文件的set-group-id位被设置则为真
-r   file 可读为真
-s   file 大小不为0为真
-u   file 如果文件的set-user-id位被设置则为真
-w   file可写为真
-x   file可执行为真


2.4控制结构
(1).if语句
  if condition 
  then
     statements
  else
    statements
  fi


(2).elif语句


 
 
  1. #!/bin/sh
  2. echo "Ii't morning? Please anser yes or no"
  3. read timeofday
  4. if[ "$timeofday"= "yes" ]
  5. then
  6. echo "Goodmorning"
  7. elif [ "$timeofday"= "no" ];then
  8. echo "Goodafternoon"
  9. else
  10. echo "Sorry,$timeofday not recognized,Enter yes or no"
  11. exit1
  12. fi
  13. exit0

本次语法笔记结束,下次继续shell语法(2)

文章最后发布于: 2017-02-16 23:04:48
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值