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的主要内容,如果未能解决你的问题,请参考以下文章

if中的-n -z linux_Shell

Linux_shell 编程

Linux_Shell编程(下)

Linux_shell命令说明

Linux_shell

Linux_shell