shell编程

59 阅读2分钟

什么是shell

shell 是一种命令语言,还是一种程序设计语言 shell 是指一种应用程序,提供了一个界面,用户通过这个界面访问操作系统内核的服务

shell分类

  • bash:基于gun的框架下发展的shell
  • csh:类似c语言的shell
  • tcsh:整合了csh提供了更多功能
  • sh:已经被bash替换
  • nologin:让用户无法登录

bash (/bin/bash)是目前大多数Linux 版本采用的默认shell

输入输出重定向

类型设备文件文件描述编号默认设备
标准输入/dev/stdin0键盘
标准输出/dev/stdout1显示器
标准错误输出/dev/stderr2显示器

输入重定向

类型操作符用途
重定向输入<从指定的文件读取数据,而不是从键盘输入
重定向输出1>将输出结果保存到指定的文件(覆盖原有内容)
>>将输出结果追加到指定的文件尾部
标准错误输出2>将错误信息保存到指定的文件(覆盖原有内容)
2>>标准错误输出结果追加到指定的文件尾部
混合输出&>无论对错都可以重定向将标准输出、标准错误的内容保存到同一个文件中

shell 变量

Shell 变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应变化。

命名要求

  • 区分大小写

  • 不能使程序中的保留字和内置变量:如:if, for,hostname 命令 a=

  • 只能使用数字、字母及下划线,且不能以数字开头,注意:不支持短横线 “ - ”,和主机名相反

  • 不要使用内置的变量,使用英文尽量使用词义通俗易懂,PATH

  • 大驼峰 StudentFirstName

  • 小驼峰 studentFirstName

  • 下划线 student_name

特殊符号作用

image.png

变量分类

1用户自定义变量

由用户自己定义,修改和使用

2环境变量 主要保存系统操作环境的相关数据,比如用户家目录,命令提示符等

3位置参数变量44 在shell中可以直接使用 当一条命令或脚本执行时 后面可以跟多个参数

4预定义变量 Bash中内置的一类变量 shell 不能修改