既然是基礎篇那確定是須要對shell的各類須要注意的基本點進行說明了。接下來就是show time...php
shell呢,是一個用C語言編寫的應用程序,是用戶使用linux的橋樑。因此呢,他既是一種命令語言,同時呢仍是一種程序設計語言。shell腳本(shell script),是一種爲shell編寫的腳本程序。業界所說的shell一般都是指shell腳本,可是各位看官要知道的是,shell和shell script是兩個不一樣的概念。因爲習慣的緣由,簡介起見,本文出現的「shell編程」都是指shell腳本編程,而不是指開發shell自身,各位看官千萬要注意哈。java
其次呢,shell編程跟java、php編程同樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就能夠了。可是linux的shell種類不少,本人所學習的是其中的免費版本bash shell。接下來就是正題了。linux
shell腳本開頭呢,必需要註明本身用的是那個解釋器。保存的文件後綴名爲***.sh就行了。我用的是bash,因此開頭須要註上#!/bin/bash
git
而後就是輸出了,跟php相似,echo就能夠輸出東西:echo "hello word!",就能夠輸出內容了。我是在windows上使用git GUI來運行的,具體運行方式爲./test.sh,而後回車就運行了這個test.sh文件。最主要的是shell裏沒有相似php的;似得分界符,只要換行就是另外的輸出了。shell
再來就是shell中的變量問題了,跟php的變量命名規則差很少,惟一不一樣的就是不須要使用$開頭來命名變量,可是輸出或者使用變量的時候必須使用$。具體方式爲your_name="luyaran"(變量命名),echo $your_name。還有就是我們phper的習慣是命名時習慣性的會加上空格:$your_name = "luyaran";,可是在這裏我想說錯了,等號兩邊不能加上空格,加上就算是常規性的defined。我剛剛開始用shell的時候就常常踩進這個坑啦。另,變量還有一種輸出方式:echo "${your_name} is my girlfriend",其主要目的是爲了幫助解釋器識別變量邊界。比較個性的是咱們還可使用readonly這個命令來使咱們的變量只具備讀的屬性而不能修改,看起來比較高達上的樣子。而後嘞,咱們就能夠用unset加變量名的方式來刪除咱們所定義的變量。接下來按照php的套路,咱們最後要肯定的就是變量的類型,按照官方解釋以下:編程
運行shell時,會同時存在三種變量:windows
好的,而後就到了字符串這塊了。其實不外乎獲取字符串的長度,截取字符串,拼接字符串等有限的幾個方面。在開始以前呢,還有一點須要提早說明的就是單雙引號之間的區別和用途:
bash
字符串拼接與咱們php的樣式略微的有差別,那就是沒有鏈接符:編輯器
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
獲取字符串長度:學習
string="abcd" echo ${#string} #輸出 4
提取子字符串(如下示例是從字符串第二個開始,截取四個字符):
string="runoob is a great site" echo ${string:1:4} # 輸出 unoo
字符串查找(如下示例的「`」是Esc鍵下面的那個):
string="runoob is a great company" echo `expr index "$string" is` # 輸出 8
勉強寫得差很少了,各位看官見笑了啊,本人純屬小白,這篇博客只是用來作筆記而已,勿噴哈。。。
關於以後的,本人會在學習過程當中,陸續接上的。。。
原文連接:https://blog.csdn.net/luyaran/article/details/79353093