shell学习
转自:https://www.cnblogs.com/cisum/p/8010658.html
1.传递参数
直接使用$0,$1,$2,$3
$0是脚本的名字,就是按顺序来
#!/bin/bash # author:菜鸟教程 # url:www.runoob.com echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3";
输出:
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3
2.字符串拼接
#!/bin/bash name="Shell" url="http://c.biancheng.net/shell/" str1=$name$url #中间不能有空格 #是因为当字符串不被任何一种引号包围时,遇到空格就认为字符串结束了, #空格后边的内容会作为其他变量或者命令解析 str2="$name $url" #如果被双引号包围,那么中间可以有空格 str3=$name": "$url #中间可以出现别的字符串 str4="$name: $url" #这样写也可以 str5="${name}Script: ${url}index.html" #这个时候需要给变量名加上大括号 #加{ }是为了帮助解释器识别变量的边界, echo $str1 echo $str2 echo $str3 echo $str4 echo $str5
输出:
Shellhttp://c.biancheng.net/shell/ Shell http://c.biancheng.net/shell/ Shell: http://c.biancheng.net/shell/ Shell: http://c.biancheng.net/shell/ ShellScript: http://c.biancheng.net/shell/index.html
3.set 命令
https://juejin.cn/post/6960848214954082340
set
命令的主要作用是显示系统中已经存在的shell
变量,以及设置shell
变量的新变量值。
set命令选项:
4.export命令
https://cloud.tencent.com/developer/article/1365982
export命令为Shell内建命令,用于设置或显示环境变量,环境变量包含变量与函数。
在Shell中执行程序时,Shell会提供一组环境变量。export可新增、删除或修改环境变量,供后续被执行的程序使用。export的作用效果仅限于当前登陆。
查看所有环境变量
env printenv
6.(){}作用
https://www.cnblogs.com/hkui/p/6423918.html
()和{}都是对一串的命令进行执行,并且命令之间用;号隔开;
()只是对一串命令重新开一个子shell进行执行,{}对一串命令在当前shell执行。
7.[*],[@]
https://blog.csdn.net/qinglinsan/article/details/9217959
${array_name[@]} or ${array_name[*]} #表示的是array的所有元素。 ${#array_name[@]} or ${#array_name[*]} #表示的是array_name的元素个数。 ${#array_name} #表示第一个元素的长度,即第一个元素的字符个数。
8.[]
https://www.runoob.com/linux/linux-shell-test.html
代码中的 [] 执行基本的算数运算,如:
#!/bin/bash a=5 b=6 result=$[a+b] # 注意等号两边不能有空格 echo "result 为: $result" #输出: result 为: 11