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[*]}

截图

相关推荐
charlie1145141911 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
xlp666hub1 小时前
深度剖析 Linux Input 子系统(3):从零写一个 Input 驱动,最详细手把手(附完整代码)
linux·面试
RisunJan2 小时前
Linux命令-modprobe(自动处理可载入模块)
linux·运维
何朴尧2 小时前
OpenClaw Linux 完整安装指南
linux
木木em哈哈3 小时前
记一次在线编辑器的探索
linux·服务器·网络
我要成为嵌入式大佬3 小时前
正点原子MP157--问题详解--二(NFS挂载根文件系统双网卡设置)
linux·服务器·网络
一个有温度的技术博主3 小时前
网安实验系列七:域名收集
linux·运维·服务器
我爱学习好爱好爱3 小时前
Ansible 环境搭建
linux·运维·ansible
人工智能训练4 小时前
从 1.1.3 到 1.13.2!Ubuntu 24.04 上 Dify 升级保姆级教程(零数据丢失 + 一键迁移)
linux·运维·人工智能·windows·ubuntu·dify
我要成为嵌入式大佬4 小时前
正点原子MP157--问题详解--四(关于根文件系统驱动模块指令的注意事项)
linux·运维·服务器