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下支持用戶自定義變量,使用’ = ‘進行賦值,即 變量名=變量值

原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/85451

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

相關推薦

  • cobbler實現centos7和centos6的無人值守安裝

    環境:系統: CentOS 7.2  ip: 172.16.0.11 一. Cobbler安裝準備 Cobbler是一個Linux服務器安裝的服務,可以通過網絡啟動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),…

    Linux干貨 2017-06-04
  • 關于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要對內核做升級操作;Linux支持多內核版本并存,因此 ,對直接安裝新版本內核 v rpm {-q嚴格–query} [select-options] [query-options] v [se…

    Linux干貨 2016-08-24
  • 馬哥教育網絡班21期+第2周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。     cp復制,mv移動,rm刪除     1、cp:             1,用法: cp [OPTIO…

    Linux干貨 2016-07-12
  • 邏輯卷LVM

    邏輯卷LVM 簡介     在實際生產應用中,磁盤的分區的容量是固定不變的,當出現分區容量不足的情況,除了新加磁盤,還有沒有其他方法呢?    邏輯卷(LVM)的概念就出現了,全稱叫Logical Volume Manager。它的作用是允許對卷進行方便操作的抽象層,包括重新設定…

    Linux干貨 2017-08-12
  • 生產環境模擬實現keepalived+Nginx調度器+httpd的高可用集群

    具體過程是用Nginx做負載均衡,可以將Nginx和主機放在同一臺機子上,也可以分開放置,只不過分開的話要指明RS是Nginx的主機地址。至于直接將虛擬地址配置在Nginx主機上我暫時還未成功 下面附上我的雙主模型的主keepalived服務器的配置 ! Configuration File for keepalive…

    Linux干貨 2016-11-11
  • 第一周作業:計算機的組成及其功能

    第一周作業 主要是對應了馬哥視頻前兩天共八節課的內容,作業一共有六道題 01.描述計算機的組成及其功能 02.按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 03.描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述 04.說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pw…

    2017-09-12
欧美性久久久久