Shell基本语法

解释器/etc/shells下查看

第一个shell脚本,第一行为解释器

启动运行方式(在环境变量中有区别,对echo输出没影响)

   1.当程序执行 ./xxx.sh(执行shell脚本时是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中.子进程中的各项变量在子进程结束后不会影响到父进程。不会存在在子shell中的变量

   2.指定解释器运行 /bin/*sh   xxx.sh(不会存在在子shell中的变量

   3.source   xxx.sh(执行shell脚本时是在当前shell中执行的,脚本中的各项变量在脚本结束后仍然存在。比如在执行xxx.sh后,当前shell中会存在abc=123这个变量。)

   4.   .   xxx.sh(和source xxx.sh相同   为当前shell环境执行​​​​​​​)

Shell语法

定义变量

变量名=value(值不能带空格)

变量名=’value’(不能引用变量)

var=”123”

var1=’${var1}456’

echo $var1

输出${var1}456

将以上var1=’’改为var1=””

输出123456

变量名=”value”(都能)

使用变量

var=”123”

echo $var

输出123

var=”123”

echo “${var}456”

输出123456

删除变量

unset 变量名

将命令结果赋值给变量

第一种为反引号(在Tab上面)

注释为#

$符号输入参数

./test.sh 123 244 321 441

123就是$1 244就是$2 .....

从键盘获取输入

数学运算符(())

在里面数学运算

也可以在里面直接判断a<b不用[ a -gt b ]或 test a -gt b了

判断某个条件-xx

短路或 前面一个条件成立就结束

短路与 前面一个条件成立继续

使用[ expression ]时要注意前后空格,否则会报语法错误

If else语法

Case语法


for 循环

for n in 1 2 3 4 5 6 7

do

         echo “$n

done


for n in {1..7}

do

         echo “$n”

done


for n in $(ls /bin/*sh)

do

         echo “$n”

done


$*和$@的区别

传参并且有““时体现区别

传参1 2 3 4 5 6 7

       ./test.sh 1 2 3 4 5 6 7

for n in “$*”

do

         echo “$n”

done

$*的输出1 2 3 4 5 6 7整体

for n in “$@”

do

         echo “$n”

done

$@的输出

1

2

3

4

5

6

7

一个一个输出和上面的for n in {1..7}以及1 2 3 4 5 6 7一样

While语法

函数

直接函数名调用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值