第9章 Shell基础(1)_Shell简介和脚本执行方式

1. Shell概述

1.1 Shell简介

(1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

(2)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的脚本语言在Shell中可以直接调用Linux系统命令

1.2 Shell的分类

(1)Bourne Shell:从1979年起Unix就开始使用Bourne Shell,其主文件名为sh。

(2)C Shell:主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。

(3)Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。

(4)Bash: Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

1.3 Linux支持的Shell

(1)/etc/shells

2. Shell脚本的执行方式

2.1 echo输出命令

(1)命令格式:echo [选项] [输出内容] (选项“-e”支持反斜线控制的字符转换)


控制字符


作用


\\


输出\本身


\a


输出警告音


\b


退格键,也就是向左删除一个字符


\c


取消输出行末的换行符。和“-n”选项一致


\e


Escape键


\f


换页符


\n


换行符


\r


回车键


\t


制表符,也就是Tab键


\v


垂直制表符


\0nnn


按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数


\xhh


按照十六进制ASCII码表输出字符。其中hh是两位十六进制数

(2)应用举例:

  ①# echo ‘hello world!‘ //但不能写成# echo "hello world!" 。因为!有特殊的作用

  ②演示“-e”选项的作用

[[email protected] ~]# echo "abc"
abc
[[email protected] ~]# echo "ab\bc"
ab\bc
[[email protected] ~]# echo -e "ab\bc"
ac
[[email protected] ~]# echo -e "a\tb\tc\nd\te\tf"
a       b       c
d       e       f
[[email protected] ~]# echo -e "\x61\t\x62\t\x63"
a       b       c

  ③输出颜色:#echo -e "\e[1;31m abcd \e[0m" //\e[1;表示开启颜色输出\e[0m表示结束颜色输出

    #30m=黑色,31m=红色,32m=绿色,33m=黄色

    #34m=蓝色,35m=洋红,36m=青色,37m=白色

2.2 第1个脚本程序

(1)脚本程序

(2)脚本执行

  ①直接运行:

    #chmod 755 hello.sh

    #./hello.sh  //使用绝对路径或相对路径

  ②通用Bash调用执行脚本:

    #bash hello.sh //无须为hello.sh赋执行权限。表示通过bash程序来解释hello.sh文件。

(3)处理Windows和Unix换行符不同的问题:

  ①Windows中文件换行符为^M$,而Linux下为$,这会导致Windows下编写的bash文件在Linux下不能被正确读取。可以用#cat –A hello.sh查看出来。

  ②解决方案:#dos2unix hello.sh (命令的安装:#yum –y install dos2unix, unix2dos则进行相反的操作)

时间: 2024-08-27 09:30:01

第9章 Shell基础(1)_Shell简介和脚本执行方式的相关文章

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

【Linux系列】【基础版】第三章 Shell基础知识

3. Shell基础知识     3.1 Shell的由来         3.1.1 Bourne Agin Shell         3.1.2 其他的shell, 有 zsh, ksh等     3.2 查看有没有shell         3.2.1 yum list | grep zsh         3.2.2 ls /root/.bash_history         3.2.3 echo $HISTSIZE -> vi /etc/profile 修改HISTSIZE的值 -

shell脚本编程之变量简介及脚本执行过程

脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型语言: 强类型:变量在使用前,必须事先声明,甚至还需要初始化(给一个初始值,如果没给一个原始值,里面是随机数): 弱类型:变量用时声明,甚至不需要区分类型(默认为字符串): 变量赋值:VAR-NAME=VALUE: bash shell变量类型: 环境变量 本地变量(局部变量),局部变量不一定都是本

shell脚本执行方式

方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中.查看PATH的内容可用 echo $PASH 命令.现在的/data/shell就不在环境变量PASH中的,所以必须加上

第一章 Shell基础知识

1.1 简介 Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户. 下面是处理流程示意图: Shell既然是工作在Linux内核之上,那我们也有必要知道下Linux相关知识. Linux是一套免费试用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. 1983年9月27日,Richard Stallman(理查德

[第一章]Shell 基础

什么是 Shell 大纲             [前言]         1.Shell简介         2.Bash功能介绍              2.1.记录命令历史              2.2.命令和文件名补全              2.3.别名              2.4.管道符/重定向              2.5.快捷键          3.Bash使用技巧              3.1.重定向技巧              3.2.命令序列号使用

《跟阿铭学Linux》第10章 shell基础知识:课后习题与答案

1. 设置环境变量 HISTSIZE , 使其能够保存10000条命令历史. vim /etc/profile   把 HISTSIZE=1000 改为 HISTSIZE=10000 2. 为什么如果这样设置PS1 (PS1="[\[email protected]\h \W]\$ ")  显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的? 应该是 PS1='[\[email protected]\h \W]\$ ' 3. 想办法把当前目录下的文件的文件名中的小写字母全部替

第9章 Shell基础(2)_Bash基本功能

3. Bash的基本功能 3.1 历史命令与命令补全 (1)历史命令:#history [选项] [历史命令保存文件] ①选项:-c:清空历史命令: -w:把缓存中的历史命令写入文件~/.bash_history (2)历史命令的保存:默认会保存1000条,可修改环境变量配置文件/etc/profile的HISTSIZE变量中的值. (3)历史命令的调用 ①使用上.下箭头调用以前的历史命令 ②使用"!n"重复执行第n条历史命令 ③使用"!!"重复执行上一条命令 ④使

第9章 Shell基础(3)_Bash的变量

4. Bash的变量 4.1 用户自定义变量 4.1.1 什么是变量 变量是计算机的内存单元,其中存放的值可以改变.当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中.每个变量有一个名字,所以很容易引用它.使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息. 4.1.2 变量设置规则 (1)变量名称可以由字母.数字和下划线组成,但不能以数字开头.如果变量名是"2name"则是错误的. (2)Bash中,变量的默认类型都是字符串