linux下shell编程基础篇一

简介:

这是一篇shell的基础文章,主要内容是bash的作用,history作用,管道符,如何自定义变量

如何执行脚本等内容,下一篇会介绍一些如if,for,while,case等语句。欢迎各位与我交流。。。

一、shell环境概述

1. Shell的作用及常见分类

Shell的作用 —— 命令解释器,“翻译官”介于操作系统内核与用户之间,负责解释命令行(类似于win下的cmd

2. Shell环境的切换

1) . 临时切换:直接执行其他Shell程序,例如ksh、zsh等

2). 更改用户登录Shell

p 需修改 /etc/passwd 文件中用户记录的最后一个字段

p 或执行:usermod -s Shell程序路径 用户名

3. Bash的常用功能

Tab键自动补齐 命令编辑快捷键 命令历史 命令别名

标准输入输出 重定向操作 管道操作

4. Bash的命令历史

1) 命令历史

clip_image002 保存用户曾经执行过的命令操作

clip_image002[1] 存放位置:~/.bash_history 文件

2) 查看历史命令 history

3) 调用历史命令

clip_image002[2] !n:执行历史记录中的第n条命令

clip_image002[3] !str:执行历史记录中以“str”开头的命令

4) 设置记录历史命令的条数 /etc/profile

clip_image002[4] 修改 HISTSIZE 参数(默认为1000条)

5. Bash的标准输入输出

交互式硬件设备

clip_image002[5] 标准输入:从该设备接收用户输入的数据

clip_image002[6] 标准输出:通过该设备向用户输出数据

clip_image002[7] 标准错误:通过该设备报告执行出错信息

6. Bash的重定向操作

改变标准输入、标准输出、标准错误的方向

7. Bash的管道操作

管道操作符号“|”

连接左右两个命令,将左侧的命令输出的结果,作为右侧命令的输入(处理对象)

格式:cmd1 | cmd2 [... | cmdn]

二. Shell变量的应用

  1. Shell变量的种类

clip_image002[8] 用户自定义变量:由用户自己定义、修改和使用

clip_image002[9] 环境变量:由系统维护,用于设置用户的Shell工作环境,只有极少数的变量用户可以修改

clip_image002[10] 预定义变量:Bash预定义的特殊变量,不能直接修改

clip_image002[11] 位置变量:通过命令行给程序传递执行参数

  1. 变量的赋值与引用

1)定义新的变量

clip_image002[12] 变量名要以英文字母或下划线开头,区分大小写

clip_image002[13] 格式:变量名=变量值

2)查看变量的值

clip_image002[14] 格式:echo $变量名

3)从键盘输入内容为变量赋值

clip_image002[15] 格式: read [-p "信息"] 变量名

4)结合不同的引号为变量赋值

clip_image002[16] 双引号 “ ” :允许通过$符号引用其他变量值

clip_image002[17] 单引号 ‘ ’ :禁止引用其他变量值,$视为普通字符

clip_image002[18] 反撇号 ` ` :将命令执行的结果输出给变量

5)设置变量的作用范围

clip_image002[19] 格式:export 变量名...

export 变量

6) 数值变量的运算

计算整数表达式的运算结果

clip_image002[20] 格式:expr 变量1 运算符 变量2 ...[运算符 变量n]

expr的常用运算符

clip_image002[21] 加法运算:+

clip_image002[22] 减法运算: -

clip_image002[23] 乘法运算: \*

clip_image002[24] 除法运算: /

clip_image002[25] 求模(取余)运算: %

  1. 环境变量

1) 环境变量配置文件

clip_image002[26] 全局配置文件:/etc/profile

clip_image002[27] 用户配置文件:~/.bash_profile

2) 查看环境变量

clip_image002[28] set命令可以查看所有的Shell变量,其中包括环境变量

常见的环境变量:path变量,类似于windows的path

三.Shell脚本的概念

1. Shell脚本

a) 用途:完成特定的、较复杂的系统管理任务

b) 格式:集中保存多条Linux命令,普通文本文件

c) 执行方式:按照预设的顺序依次解释执行

2. 运行Shell脚本程序

1) 直接执行具有“x”权限的脚本文件

clip_image002[29] 例如:./repboot.sh

2) 使用指定的解释器程序执行脚本内容

clip_image002[30] 例如:bash repboot.sh、sh repboot.sh

3) 通过source命令(或 . )读取脚本内容执行

clip_image002[31] 例如:souce repboot.sh 或 . hello.sh



本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/626194,如需转载请自行联系原作者

相关文章
|
8天前
|
Linux
【Linux系统编程】基础指令(二)(下)
【Linux系统编程】基础指令(二)
|
8天前
|
Linux C语言
【Linux系统编程】基础指令(二)(上)
【Linux系统编程】基础指令(二)
|
1天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
15 5
|
1天前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
1天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
8 2
|
2天前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
26 2
|
2天前
|
安全 Linux Shell
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
12 1
|
2天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
10 3
|
8天前
|
存储 Unix Linux
【Linux系统编程】基础指令(三)
【Linux系统编程】基础指令(三)
|
8天前
|
Linux
【Linux系统编程】基础指令(一)(下)
【Linux系统编程】基础指令(一)