shell学习——(一)

动机

shell处理文件目录极为方便,项目需要熟悉linux系统。
shell优点
1.比编程语言更加高级,简洁地表达复杂的操作。
2.可移植性,可以做到脚本无修改就可在不同系统上执行
3.可在短时间内完成一个功能强大又好用的脚本

目录

1.第一行的 #!

2.shell的基本元素

1.第一行的#!

告知unix内核,使用哪个shell来执行所指定的shell脚本。例如,#! /bin/csh

2.shell的基本元素

1.shell最基本工作是执行命令。在终端,每键入一条命令就执行一条命令。
例如
$ cd work ; ls -l whizprog.c
使用空白键或者Tab键,隔开命令行中各个组成部分。

2.命令名称是命令行的第一个项目。通常后面跟着选项,任何额外的参数都会放在选项之后。

3.选项的开头是一个破折号(减号),后面接着一个字母。选项是可有可无,有可能需要加上参数,不需要参数的选项可以合并。然而长选项更常用。例如,python --version

4.shell使用分好;来分割同一行里的多条命令。shell会依次执行这些命令。如果使用的是&符号而不是分好,shell将在后台执行其前面的命令。

shell识别三种命令:内建命令,shell函数以及外部命令;
内建命令:第一种,由于其必要性内建,使用cd改变目录,read将来自用户的输入数据传给shell变量。第二种内建命令是为了效率,最典型的就是test命令和I/O命令,例如echo和printf。
shell函数是功能健全的一系列程序代码,以shell语言写成,它们可以像命令那样引用。
外部命令是由shell副本(新的进程)所执行的命令,基本过程层如下

  • 建立新的进程。此进程即为shell的一个副本

  • 在新的进程种,在PATH变量内所列出的目录种,寻找特定的命令。/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin为PATH变量典型的默认值。当命令名称含有斜杠(/) 符号时候,将略过路径查找步骤。

  • 在新的进程里,以所找到的新程序取代执行中的shell程序并执行

  • 程序执行完成后,最初的shell会接着从终端读取的下一条命令,或执行脚本里的下一条命令。

5.变量
变量就是为某个信息片断所起的名字,例如first_name或driver_lic_no。所有程序语言都会有变量,shell也不例外。每个变量都有一个值,这是由你分配给变量的内容或信息。在shell的世界里,变量值可以是(而且通常是)空值,也就是不含任何字符。空值就是null。

规则:shell变量名称开头是一个字母或者下划线符号,后面可以接任意长度的字母、数字或下划线符号。变量名称的字符长度并无限制。

你可能感兴趣的:(linux)