linux_shell
Posted 未央夜色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux_shell相关的知识,希望对你有一定的参考价值。
综述
shell是一个命令解释器,在os的最外层,负责直接和用户对话。
shell是一种脚本语言,因为它本身是不需要编译的,而是通过解释器解释之后再编译执行。
- 交互式的(实时反馈)
- 非交互式的(脚本方式)
shell脚本:流程控制,变量,命令
最后 chmod一下。 ./xx.sh运行脚本
或者直接使用sh xx.sh运行。
很擅长处理纯文本类型的数据。
在字符处理领域,有grep、awk、sed三剑客,grep负责找出特定的行,awk能将行拆分成多个字段,sed则可以实现更新插入删除等写操作。后续会陆续介绍三剑客
弱类型语言:(类似python)不强制要求事先定义数据的类型。
几大脚本语言:
- php:专注网页开发
- perl:强大,不易读,团队协作困难
- python:上升期。中等以上的公司一般要求python。
- shell:可以结合大量LINUX的命令和函数。
- 优势在于处理os底层的业务。有大量的linux命令作支撑,可以使用lunux所有的常见命令。
- grep awk sed shell 结合使用非常强大。
linux默认bashshell
// 大小写敏感。linux中默认的系统变量都是大写的
echo $SHELL
脚本的创建
规范的shell脚本,第一行:
#! /bin/bash
# 指定用什么样的shell执行。
# #!称为幻数,必须要在脚本的第一行。
echo $a # 不规范
echo $a # 规范书写 ```
默认linux中是用bashshell执行脚本。
cat:正序查看
tac:逆序查看
推荐的执行脚本方式:
bash 脚本名字.sh
sh 脚本名字.sh
这种方式不需要修改权限,可以直接执行
开发规范
少踩雷区,一定要写规范化的代码
对于所有的变量,都要用大括号修饰,再输出。
空格键慎加!!
- 文本开头
#! /bin/bash
# date:
# author
# mail
# version
# function
- 尽量少用中文
- 文件的结尾用.sh
- 中括号内,要前后各一个空格。[ ]2个space
- 流程控制语句,一次性输入完 ex:
if xx
then xxx
elif xxxx
fi xxxx
for cycle
do
xx
done
以上是关于linux_shell的主要内容,如果未能解决你的问题,请参考以下文章