shell入门 (一)

  1. Shell就是一个命令行解释器 ,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。
  2. Shell还有一种执行命令的方式称为批处理 (Batch),用户事先写一 个Shell脚本 (Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支。但Shell脚本是解释执行的,不需 要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一 行敲到Shell提示符下执行。作为程序设计语言,它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

         Unix系统中常见的shell有:sh、csh、ksh、tcsh、bash

       3 脚本的创建过程:

        写出自己的第一个Shell脚本:

       (1)理清任务:——自然语言:步骤拆分、顺序化整理。

             案例需求:

                    –新建一个名为mtd的本地用户。

                    –此用户能够正常登录,其密码为654654。

      (2)编写可执行文件:——脚本语言:各步骤如何实现。

              第一、二、……步依次如何实现?

                     –使用useradd、passwd命令完成相应的任务步骤

                     –自然语言–>可执行的命令行

      (3)完善脚本:——界面友好/结构规范/代码的优化。

                脚本的优化目标:

                     –界面友好、易读懂、易使用。

                     –符合规范、方便协作、移植以及代码的重用。

                     –代码简洁、执行效率高。

         完成上面的三步,可以得到一个粗糙的shell脚本:

       4  shell系统变量
         ‘$#‘ // 保存程序命令行的数目
         ‘$0‘ // 当前程序名
         ‘$*‘ // 以(“$1 $2…”)的形式保存所有输入的命令行参数
         ‘$@‘ // 以(“$1” “$2″…)的形式保存所有输入的命令行参数
         ‘$n‘ // $1 为命令行的第一个参数,$2为命令行的第二个参数,依次类推

         shell环境变量
         PATH // 决定shell将到哪些目录中寻找命令或程序
         HOME // 当前用户主目录的完全路径名
         HISTSIZE // 历史命令记录数
         LOGNAME // 当前用户的登录名
         HOSTNAME // 主机的名称
         SHELL // shell路径名
         LANGUGE // 语言相关的环境变量,多语言可以修改此环境变量
         MAIL // 当前用户的邮件存放目录
         PWD // 当前工作目录的绝对路径名

         环境变量命令
         echo $HOME // 显示变量
         export WELCOME=”HE” // 设置变量
         env // 查看所有变量
         set // 查看本地变量
         unset // 删除变量
         env | grep WELCOME // 查询变量

         shell用户变量
         linux下支持用户自定义变量,使用’ = ‘进行赋值,即 变量名=变量值

原创文章,作者:biluo28,如若转载,请注明出处:http://www.178linux.com/85451

(0)
上一篇 2017-08-26 19:24
下一篇 2017-08-26 20:34

相关推荐

  • Linux发展史

    一、从 Unix 到 Linux 这一段历史         早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的,Linux 的核心是由 …

    Linux干货 2016-10-14
  • 8月4号作业

    正则表达式表示18位身份证号 egrep "\b[0-9]{17}(x|X|[0-9])\b" 正则表达式表示手机号 egrep "\b1[3,5,8,7][0-9]{9}\b" phone 正则表达式表示邮箱 grep -E "\b[[:alnum:]].*@[[:alnum:]]{2,3}.[[:alnu…

    Linux干货 2016-08-08
  • iptables/netfilter入门到进阶

    一、iptables/netfilter的简介: iptables:规则管理工具;该系统工具有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfi…

    Linux干货 2017-05-03
  • linux基本命令的使用

      1>    查看当前终端名:tty 或who am i       查看当前所有登录的终端信息:who       查看当前所有登录的终端的详细信息 w 2> 编辑器    …

    2017-07-15
  • sed命令

    Linux sed命令是利用script来处理文本文件。 sed可依照script的指令,来处理、编辑文本文件。 Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 语法 sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数说明: -e<script&gt…

    Linux干货 2016-08-12
  • 一种强大的新型BIOS Bootkit病毒曝光

    近日,安全研究人员开发出一种新的BIOS bootkit,它可以窃取敏感数据,以及流行操作系统使用的PGP密钥。包括华硕、惠普、宏基、技嘉以及微星等在内的各大供应商的主板都受到该病毒影响。 BIOS bootkits是真实存在的。斯诺登在披露NSA ANT部门使用的监视工具集时,曾提到过BIOS bootkits。这些恶意软件能够入侵受害机器的BIOS,以此…

    2015-03-23