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

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

   开始学习吧:

Shell 语法 :

1.变量

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

$salutation=hello
$echo $salutation
hello
$salutation="YesDear"
$echo $salutation
YesDear

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

$read salutation
Wiegeht's
$echo $salutation
Wiegeht's


1.2 引号的使用

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

$varTest="Test"
$echo $varTest
Test
$echo"$varTest"
Testg
$echo '$varTest'
$varTest
echo \$varTest
$varTest


1.3环境变量


$0:shell脚本的名字

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

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


2.条件

test或[命令

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

if test -f fred.c
then
....
fi
or
if[ test -f fred.c]; then
....
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语句

 #!/bin/sh
echo"Ii't morning? Please anser yes or no"
read timeofday


if[ "$timeofday"="yes" ]
  then
   echo"Goodmorning"

elif [ "$timeofday"="no" ];then
   echo"Goodafternoon"
else
   echo "Sorry,$timeofday not recognized,Enter yes or no"
   exit1
fi

exit0

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值