Shell的基础

原创 2018年04月16日 11:30:50

Shell

1shell(计算机的壳层)

在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。linuxshell

2同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。


主要来说shell语言


1Shell编程跟 javaphp编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

LinuxShell 种类众多,常见的有:

BourneShell/usr/bin/sh/bin/sh

BourneAgain Shell/bin/bash

CShell/usr/bin/csh

KShell/usr/bin/ksh

Shellfor Root/sbin/sh

2:打开文本编辑器(可以使用vi/vim 命令来创建文件),新建一个文件test.sh,扩展名为shsh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php shell脚本,扩展名就用 php好了。

./test.sh #执行脚本

注意,一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.shlinux系统会去 PATH 里寻找有没有叫test.sh 的,而只有/bin, /sbin, /usr/bin/usr/sbin等在 PATH 里,你的当前目录通常不在PATH 里,所以写成test.sh 是会找不到命令的,要用./test.sh 告诉系统说,就在当前目录找。

3shell定义变量

name="percy"正确

name= "percy"不正确,不能随意加空格


4

Linux之父LinusBASH的描述:

“我下载了一个叫BourneShell的外壳程序。它是UNIX的初始外壳程序之一,可以从互联网上免费下载,名字来源于一个难听的双关语。编写该外壳程序的家伙名叫波恩(英文中的“忍受”或“出生”之意――译注),所以这个程序就叫做“Bourne-Again-Shell”(“再次忍受或再次降生外壳程序”――译注),或一般被称为BASH(bash的英文意为“重击”――译注)。”



0:开始shell编程

shell里面很重要的一点就是空格是代码逻辑的一部分,所以不能随意空格的)


只读变量:

myUrl="http://www.w3cschool.cc"

readonlymyUrl

删除变量

unsetvariable_name


1shell的三种变量

1)局部变量局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2)环境变量所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3)shell变量shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

2:单双引号

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。

3:接受参数

我们可以在执行Shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn代表一个数字,1为执行脚本的第一个参数,2为执行脚本的第二个参数,以此类推……0为文件名


4

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如awk expr, letexpr最常用。

expr是一款表达式计算工具,使用它能完成表达式的求值操作。下面是expr用法。

表达式和运算符之间要有空格,例如2+2 是不对的,必须写成2 + 2,这与我们熟悉的大多数编程语言不一样。

完整的表达式要被` ` 包含,注意这个字符不是常用的单引号,在Esc 键下边。


补基础之shell和Makefile-2.2.uboot和系统移植第2部分

本期课程为uboot学习的前导课程,主要内容是shell和Makefile的基本语法和主要技巧。这些都是uboot中要用到的项目管理和配置技术,事先学好这些基础可以帮助我们更好的分析uboot工程的结构和工作原理。
  • 2016年02月25日 21:07

shell 编程基础

  • 2010年08月10日 23:58
  • 5.19MB
  • 下载

技术干货:Linux Shell 编程基础,看这一篇就够了!

技术干货:Linux Shell 编程基础,看这一篇就够了!
  • qq_22075977
  • qq_22075977
  • 2017-07-16 19:36:25
  • 5183

shell入门教程(1)-shell基础

简单脚本文件 过程执行 IO重定向 文件名称替换 命令替换 波浪号替换
  • justkk
  • justkk
  • 2015-02-13 16:07:35
  • 2640

shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

  • 2009年07月03日 14:28
  • 19.31MB
  • 下载

零基础学习Shell编程

一:起因 (0)也许由于一时的冲动使得你开始关注并学习shell编程;亦许由于是“道听途说”shell的威力很大;亦许由于shell编程的魅力;亦许由于作为一个coder的偏好;亦许…… (1)先来搞...
  • u010700335
  • u010700335
  • 2015-05-07 16:42:48
  • 2624

Shell脚本学习(一)Shell命令基础

Shell脚本学习(一)Shell命令基础
  • birdben
  • birdben
  • 2016-08-08 23:55:48
  • 27023

Shell基础(一):入门基础

1、Shell是什么? Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的系统级程序。 Shell还是一个功能强大的编程语言,易编写,易调试,灵活性强。Shell是...
  • lyc_stronger
  • lyc_stronger
  • 2016-03-08 08:55:00
  • 423

Linux&SHELL;基本知识笔试试卷

  • 2018年01月25日 14:31
  • 62KB
  • 下载

Linux Shell 入门基础

  • 2010年09月03日 10:35
  • 35KB
  • 下载
收藏助手
不良信息举报
您举报文章:Shell的基础
举报原因:
原因补充:

(最多只允许输入30个字)