zl程序教程

您现在的位置是:首页 >  工具

当前栏目

shell学习

2023-09-14 09:11:24 时间

转自: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