
Shell编程知识点汇总(一)
发布日期:2021-05-08 12:54:48
浏览次数:23
分类:精选文章
本文共 1495 字,大约阅读时间需要 4 分钟。
Shell脚本编程简明教程
Shell脚本是一种强大的工具,在服务器端编程中广泛应用。以下是一些实用的Shell脚本知识点,帮助你提升工作效率。
1. 脚本选择
在开始编写Shell脚本前,需要选择合适的解释器。#!/bin/bash
用于普通的Shell脚本,而 #!/usr/bin/python
则用于Python脚本。两者都是脚本性语言,适合快速开发。
2. 命令执行
在Shell中,source
用于在当前shell中运行脚本,而 bash
则会在子shell中运行。如果需要后台运行,可以在命令后面加上&
符号。如果需要在退出当前shell后继续运行脚本,可以在前面加上nohup
命令。
3. Vim快捷键
如果你经常使用 Vim 编辑器,不要忘记以下快捷键:
Ctrl + s
:锁屏当前窗口Ctrl + q
:解锁当前窗口
4. 文字颜色显示
如果需要在终端输出带有颜色的文字,可以使用以下命令:
echo -e “\e[1;31m this is a test\e[0m”
:前景色为红色echo -e “\e[1;40m this is a test\e[0m”
:背景色为红色
5. 文件复制
在Shell中,cp email.py{,.old}
这条命令可以通过通配符来理解。它会将 email.py
和 email.py.old
两个文件进行复制。
6. 变量命名规则
在Shell编程中,变量命名需要遵循以下规则:
- 变量名称只能以字母或下划线开头
- Shell区分大小写
7. 变量替换
以下是一个使用命令替换的例子:
#!/bin/bashtoday=$(date +%F)echo $today
这个脚本会输出当前日期。
8. 环境变量
在Shell中,可以使用以下命令查看和管理环境变量:
env
:显示所有环境变量bashname
:显示最后一个命令的名字$0
:显示脚本名字$*
:显示所有参数$@
:显示所有参数$#
:显示参数个数$$
:显示当前进程ID$!
:显示最后一个后台进程ID$?
:显示上一个命令的返回值(0表示成功)
9. 后台进程管理
如果需要在Shell中运行后台进程,可以通过以下方式实现:
#!/bin/bashping -c 1 127.1.1.1 > /dev/null &
这个命令会将 ping
命令运行在后台。
10. 条件判断
以下是一个条件判断的示例:
#!/bin/baship=127.1.1.1ping -c 1 $ip > /dev/nullif [ $? -eq 0 ]; then echo -e "$ip is up"else echo -e "$ip is down"fi
11. 隐式赋值
如果需要从用户那里获取输入,可以使用 read
命令:
#!/bin/bashread -p "请输入IP地址: " ipping -c 1 $ip > /dev/nullif [ $? -eq 0 ]; then echo -e "$ip is up"else echo -e "$ip is down"fi
12. 位置变量
如果需要通过位置变量来执行脚本,可以参考以下示例:
#!/bin/bashping -c 1 $1 > /dev/nullif [ $? -eq 0 ]; then echo -e "$1 is up"else echo -e "$1 is down"fi
在执行上述脚本时,需要在命令后面添加第一个参数:
./test.sh 127.0.0.1
发表评论
最新留言
不错!
[***.144.177.141]2025年04月22日 04时39分32秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxwidgets自定义事件+调试
2019-03-16
Vue.js学习-15-v-for循环数组内容
2019-03-17
kafka超时错误或者发送消息失败等错误,排错方式
2019-03-17
sockjs-node/info?t=1462183700002 报错解决方案
2019-03-17
Latex 错误集合
2019-03-17
浏览器打开winscp 系统错误。代码:5。 拒绝访问。
2019-03-17
Kubernetes 无法查询到并且无法删除pod实例的排查过程
2019-03-17
android中button修改不了背景颜色
2019-03-17
github 入门
2019-03-17
HTML 表单验证
2019-03-21
python解释器环境问题
2019-03-21
uni-app快速导入自己需要的插件
2019-03-22
编写xor_shellcode.py
2019-03-22
Echarts笔记
2019-03-22
Ubuntu 20.04 Docker 安装并配置
2019-03-22
在 eclipse 中将 web 项目部署到 tomcat 服务器上
2019-03-22
iOS关于申请公司开发者账号缴费支付
2019-03-22
Laravel 直接返回404页面
2019-03-24