shell脚本的使用

一、思维导图

二、小练习

1、在家目录下创建目录文件dir1,把/etc/passwd拷贝到dir1中,把/etc/group拷贝到dir1中并重命名为grp.txt,使用tree指令,显示dir1目录的文件树,把dir1,分别压缩为dir1.tar.xz,dir1.tar.gz,dir1.tar.bz2

复制代码
#!/bin/bash
mkdir dir1
cp /etc/group /home/ubuntu/dir1/grp.txt
tree /home/ubuntu/dir1
tar -cjvf dir1.tar.bz2  dir1
tar -cJvf dir1.tar.xz  dir1
tar -czvf dir1.tar.gz  dir1

截图

2、输出脚本的第11个外部参数和所有外部参数的个数

复制代码
#!/bin/bash
echo  ${11}
echo $#

截图

3、尝试将read所有的指令结合输入一个变量

复制代码
#!/bin/bash
read -sp 请输入一个数 -n 1 -t 3 arr1
echo
echo $arr1

截图

4、使用命令置换符,获取到ubuntu用户在/etc/passwd中的行号,并赋值给变量。

复制代码
#!/bin/bash
a=`grep ubuntu /etc/passwd -n | cut -d : -f 1`
echo $a

截图

5、写一个脚本,使用外部参数给数组赋值,并输出数组中元素的个数

复制代码
#!/bin/bash
arr=($*)
echo ${#arr[*]}

截图

三、作业

1、使用数组求出当前目录下.sh文件的个数

复制代码
#!/bin/bash
arr=(`find /home/ubuntu/dir1 -name \*.sh`)
echo ${#arr[*]}

截图

2、使用数组求加目录下文件的个数

复制代码
#!/bin/bash
cd 
arr=(`ls`)
echo ${#arr[*]}

截图

相关推荐
cwywsx7 分钟前
Linux:进程控制2
linux·运维·算法
熙曦Sakura7 分钟前
【Linux网络】 HTTP cookie与session
linux·网络·http
南棱笑笑生11 分钟前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统下重新编译boot.img
linux·运维·ubuntu
Ha-gd25 分钟前
Linux基础开发工具一(yum/apt ,vim)
linux·服务器
charlie1145141911 小时前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理
Caron_xcb2 小时前
大数据——解决Matplotlib 字体不足问题(Linux\mac\windows)
大数据·linux·matplotlib
水水沝淼㵘2 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
愚润求学2 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记
大白的编程日记.3 小时前
【Linux学习笔记】理解一切皆文件实现原理和文件缓冲区
linux·笔记·学习
孞㐑¥3 小时前
Linux之进程控制
linux·开发语言·c++·经验分享·笔记