Shell脚本攻略读书笔记之二

版权声明:如若转载,请联系作者。 https://blog.csdn.net/liu16659/article/details/81131205

Shell脚本攻略读书笔记之二

1.$命令的使用

#!/bin/bash
echo "执行的文件名:$0"
echo "first parameter:$1"
  • 预定义变量常用来获取命令行的输入,有下面这些:
$0 :脚本文件名
$1-9 :第 1-9 个命令行参数名
$# :命令行参数个数
$@ :所有命令行参数
$* :所有命令行参数
$? :前一个命令的退出状态,可用于获取函数返回值
$$ :执行的进程 ID
  • #!/bin/bash 这一行内容只是一个标记作用,说明这是一个bash脚本

2.shell脚本中数组的内容是以空格分割,而不是逗号。

[root@server5 local]# cat test7.sh
#!/bin/bash
array=(a,b,c,d dfd)
echo "${array[0]}"
echo "${array[1]}"
[root@server5 local]# ./test7.sh
a,b,c,d
dfd
  • 定义一个数组a:[root@server4 shells]# a=(a,b,c d e fgh)
  • 输出这个数组中第一个元素:[root@server4 shells]# echo ${a[0]} #注意需要使用{}将a[0]包住
  • 输出下标索引清单:[root@server4 shells]# echo ${!a[@]} #输出0 1 2 3
    如果这个例子不大明显,请看下面这个例子:
  • 输出数组中的所有数:[root@server4 shells]# echo ${a[@]} #输出a,b,c d e fgh

3.shell脚本中连空格都是多余的!

比如下面这个val = expr 2 + 2因为val与=之间有空格,导致出错!

[root@server5 local]# cat test8.sh
#!/bin/bash
val = `expr 2 + 2 `
echo "the sum is : ${val}"

[root@server5 local]# ./test8.sh
./test8.sh:行2: val: 未找到命令
the sum is : 


[root@server5 local]# cat test8.sh
#!/bin/bash
val=`expr 2 + 2 `
echo "the sum is : ${val}"

[root@server5 local]# ./test8.sh
the sum is : 4

####4.常见关键字
echo:打印文字到屏幕
exec:执行另一个Shell脚本
read:读标准输入
expr:对整数型变量进行算数运算
test:用于测试变量是否相等,是否为空,文件类型等
exit:退出

####5.Shell 变量

  • 用户自定义变量
    用户定义变量需要注意下面 2 点:

  • 1.等号前后不要有空格:NUM=10

  • 2.一般变量名用大写:M=1

用户自定义变量:只支持字符串类型,不支持其他字符,浮点等类型,常见有这3个前缀:
- unset:删除变量;- readonly:标记只读变量; - export:指定全局变量

  • 预定义变量
  • 环境变量

猜你喜欢

转载自blog.csdn.net/liu16659/article/details/81131205
今日推荐