linux shell学习(中)

一、数组

 (1)

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。

在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
    array_name=(value1 ... valuen)

比如 arr=(1 2 3 4 5)

或者

arr=(

1

2

3

)//括号必须这样   不然会出错

或者

arr[0]=1

arr[2]=3

可以不使用连续的下标,而且下标的范围没有限制。

echo "arr[0] is ${arr[0]}" 输出数组元素

或者使用@或*输出数组全部元素

比如 echo "arr is ${arr[@]}"

获取数组长度和获取字符串长度是一样的方法

echo "the len of arr is ${#arr[@或者*]}"


(2)在bash里  echo "hello\n"   会输出hello\n

  如果想输出换行效果 则需要echo -e "hello\n"

  这里 -e 表示对转义字符进行替换

(3)echo `date` 会输出当前时间

二、

  printf

  shell的printf和C语言的不一样在于

   printf 不像 echo 那样会自动换行,必须显式添加换行符(\n)。

printf 命令的语法:

printf  format-string  [arguments...]
format-string 为格式控制字符串,arguments 为参数列表。

printf()在C语言入门教程中已经讲到,功能和用法与 printf 命令类似

这里仅说明与C语言printf()函数的不同:
  • printf 命令不用加括号
  • format-string 可以没有引号,但最好加上,单引号双引号均可。
  • 参数多于格式控制符(%)时,format-string 可以重用,可以将所有参数都转换。
  • arguments 使用空格分隔,不用逗号。

 x=1

var="hello"

printf "%s %d\n" $var $x

输出 hello 1

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值