博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell中的函数与数组
阅读量:6649 次
发布时间:2019-06-25

本文共 2680 字,大约阅读时间需要 8 分钟。

shell中的函数

shell中的函数与数组

1.第一个案例:

[root@weixing01 shell]# sh fun1.sh the first par is bthe second par is athe third par is 2the script name is fun1.shthe number of par is 5[root@weixing01 shell]# cat fun1.sh #!/bin/bashfunction inp(){    echo "the first par is $1"    echo "the second par is $2"    echo "the third par is $3"    echo "the script name is $0"    echo "the number of par is $#"}inp b a 2 3 adf

也可以把参数放在外面

[root@weixing01 shell]# cat fun1.sh #!/bin/bashfunction inp(){    echo "the first par is $1"    echo "the second par is $2"    echo "the third par is $3"    echo "the script name is $0"    echo "the number of par is $#"}inp $1 $2 $3 [root@weixing01 shell]# sh fun1.sh 1 2the first par is 1the second par is 2the third par is the script name is fun1.shthe number of par is 2

2.第二个案例:

[root@weixing01 shell]# cat fun2.sh #!/bin/bashsum(){    s=$[$1+$2]    echo $s}sum 1 10[root@weixing01 shell]# sh fun2.sh 11[root@weixing01 shell]# sh -x fun2.sh + sum 1 10+ s=11+ echo 1111

3.第三个案例:

[root@weixing01 shell]# cat fun3.sh #!/bin/baship(){    ifconfig |grep -A1 "$1: "|awk '/inet/ {print $2}'}read -p "please input the eth name: " ethip $eth [root@weixing01 shell]# sh fun3.sh please input the eth name: ens33192.168.188.130[root@weixing01 shell]# sh fun3.sh please input the eth name: ens33:0192.168.188.150[root@weixing01 shell]# sh fun3.sh please input the eth name: ens37192.168.252.128

shell中的数组

shell中的函数与数组

1.定义数组并打印:

[root@weixing01 shell]# b=(1 2 3)[root@weixing01 shell]# echo $b1[root@weixing01 shell]# echo ${b[@]}1 2 3[root@weixing01 shell]# echo ${b[*]}1 2 3[root@weixing01 shell]# echo ${b[1]}2[root@weixing01 shell]# echo ${b[0]}1[root@weixing01 shell]# echo ${b[2]}3

2.获取数组元素个数:加个#

[root@weixing01 shell]# echo ${#b[*]}3

3.数组赋值:

[root@weixing01 shell]# b[3]=a[root@weixing01 shell]# echo ${b[*]}1 2 3 a[root@weixing01 shell]# b[3]=66[root@weixing01 shell]# echo ${b[*]}1 2 3 66

4.如果下标不存在,自动添加一个:

[root@weixing01 shell]# b[5]=6[root@weixing01 shell]# echo ${b[*]}1 2 3 66 6

5.删除元素:

[root@weixing01 shell]# unset b[3][root@weixing01 shell]# echo ${b[*]}1 2 3 6 6[root@weixing01 shell]# unset b[4][root@weixing01 shell]# echo ${b[*]}1 2 3 6[root@weixing01 shell]# unset b[root@weixing01 shell]# echo ${b[*]}

shell中的函数与数组

6.数组分片:

[root@weixing01 shell]# a=(`seq 1 10`)[root@weixing01 shell]# echo ${a[*]}1 2 3 4 5 6 7 8 9 10[root@weixing01 shell]# echo ${a[*]:3:4}4 5 6 7[root@weixing01 shell]# echo ${a[*]:-3:2}1 2 3 4 5 6 7 8 9 10[root@weixing01 shell]# echo ${a[*]:0-3:2}8 9

7.数组替换:

[root@weixing01 shell]# echo ${a[*]/8/6}1 2 3 4 5 6 7 6 9 10[root@weixing01 shell]# a=(${a[*]/8/6})[root@weixing01 shell]# echo ${a[*]}1 2 3 4 5 6 7 6 9 10

告警系统需求分析

shell中的函数与数组

shell中的函数与数组

转载于:https://blog.51cto.com/13517254/2105984

你可能感兴趣的文章
PostgreSQL APP海量FEED LOG实时质量统计CASE(含percentile_disc)
查看>>
linux服务器挂载windows共享目录
查看>>
使用Putty密钥认证机制远程登录Linux
查看>>
Outlook转发所有邮件到另一个邮箱或接收人
查看>>
Python套接字对象(内建)方法
查看>>
Oracle RAC FailOver配置
查看>>
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记4 MVC enum Tuple Dictionary
查看>>
SQL Server2008密钥
查看>>
django学习之pythonbrew部署开发环境
查看>>
ulimit open files linux打开文件数设置验证
查看>>
asp.net母板使用注意
查看>>
SQL语句的各类联接
查看>>
技术分享连载(九十六)
查看>>
RHCE 学习笔记(29) IPv6
查看>>
vsftpd+mysql+apache实现给虚拟用户分配不同目录及权限并实现远程管理
查看>>
Linux中使用crontab命令启用自定义定时任务
查看>>
BOX-虚拟桌面(MCS、PVS、Composer区别)
查看>>
设计模式之11个行为型模式
查看>>
在Digital Ocean上的MongoDB
查看>>
用oracle的java存储过程实现BLOB字段的字符串读取
查看>>