需求功能:
- 从文件中读取每一行显示
- 统计总行数
- 在shell运行过程中指定文件
一、shell初体验
- 在想要保存文件的目录中打开终端,利用vim创建一个名为
helloshell
的文件:
sudo vim helloshell
- 输入以下代码:
#!/bin/bash
echo "Hello World!"
第一行标志这是一个shell脚本文件,第二行输出“Hello World!”,然后:wq
保存退出 - 修改文件权限:(777表示所有用户可读写可执行)
sudo chmod 777 helloshell
- 运行:
bash helloshell
或./helloshell
二、读取文件
创建测试用例文件text
:
创建shell脚本:
read
运行结果:
运行结果
三、输出行数
利用awk 'END{print NR}' [文件名]
来输出行数:
在shell脚本中添加该功能:
添加进shell
运行结果:
运行结果
四、指定文件
上面的shell文件只是把文件名写死在脚本中,并没有实际使用意义,所以需要编写一个指令来指定需要读取的文件,就像vim [文件名]
一样
“$1”
代表第1个参数,也就是在read
之后紧跟的参数,将其作为文件名传入:
另外,这里使用
echo -n ""
不换行打印了行数:
以便区分
五、全局命令
将脚本移动至环境变量对应的目录中:(可以自己更改/bin/xxx
来决定运行命令的名称,但注意不能重复)
sudo mv read /bin/read
然后添加运行权限:
sudo chmod 755 /bin/read
最终效果
打开终端的目录可以是任何位置,通过以下命令即可运行shell脚本:
sudo read [文件路径]
同理,我们还可以自己为复杂指令编写shell脚本,来提高命令的使用效率,例如开关ss服务,打开锐捷客户端认证等等。
网友评论