1. 程式人生 > >0、什麽是變量,什麽是shell編程

0、什麽是變量,什麽是shell編程

變量 shell 編程

shell編程:

編譯器:也叫解釋器
shell給我們提供另外一個功能:
編程語言:將人類的語言轉變成機器可以理解的語言
機器語言(01代碼),匯編語言(依然很低層,成長周期比較長,學習起來也比較困難)
高級語言(盡管如此,它也不是人類的語言,但是最接近人類的語言)

靜態語言:
編譯型語言(有程序開發環境,不需要借助額外的二進制程序,直接寫代碼,寫完之後需要一個編譯器,將代碼放到編譯器就可以交給硬件形成一個獨立運行的程序,我們就把他叫做靜態語言)
事先轉換成可執行的格式
所需要的重要的一個特征:強類型(變量)
關鍵字:
執行之前就要完全轉換,事先轉換成可以執行的格式程序
像C,C++,JAVA,C#(不需要任何解釋器,自我就能運行)

動態語言:解釋型語言 on the fly
(一個代碼我們程序員寫完以後,他不需要轉換成二進制格式,而是有一個解釋器,解釋一條,執行一條,也就是在執行以後在進行轉換)
(通常)弱類型:邊解釋邊執行
像PHP,SHELL,Python(非常流行的,面向對象的,很多遊戲腳本都是用python),perl(早前流行的:讀音:po(破))

bash:最易學,最容易上手的就是SHELL
如果能學好python就是如虎添翼,添加了很多翼。
perl面向過程的,雖然perl6加上了對象,但是現在由於各種原因也流行不起來
事實上很多腳本是python研發的,在學習學了多年的計算機,都沒有學過python,所以學校學的是脫節的。

面向過程:相對開發小型的應用程序:shell,c
把編程著眼點主要在於問題解決的過程本身
面向對象:相對開發大型的應用程序:JAVA(純面向對象語言),Python(純面向對象語言),perl,c++
含義:把整個我們要實現的項目抽象一個個對象,並定義對象之間的動作,就是可發出的操作來完成的,所以這個更適合開發大型程序
不過任何工具都是雙刃劍(菜刀可以殺人也可以切菜)

要想理解編程,必須要理解變量
變量(不斷變化的量):是內存空間,命名的內容空間(就是不斷變化的量,存儲在某一個內存的存儲空間,根據地址就可以找到這個)
內存是存址的存儲單元
我們通過變量和內存地址相對應,所以我們看到的是變量,比如a,其實它對應的是一個內存的地址空間。

什麽是腳本?
如何去寫腳本:其實就是命令的堆砌,是按照實際需要,結合命令流程控制機制實現的源程序的腳本。
Linux只能識別ELF格式去執行的(也就是腳本的第一行必須是#!/bin/bash,bash是解釋器,/bin/bash 是解釋器路徑),這樣才能然一個ASCII格式的文本可以被執行

我們的文件幾乎都是是ACISS格式的
所以我們想運行腳本文件,必須是在文件的第一行用

#!/bin/bash
(而後再出現的#就是註釋的#(也就是當做有效的組成部分))
所以一執行這個文件,就會讀到第一行,就會用bash的編輯器去運行
並且要知道shell腳本的文件要用.sh後綴,就像是本地倉庫要用.repo一樣

0、什麽是變量,什麽是shell編程