小白linux bash 學習一 變數定義
bash 變數
1 變數
echo $變數 ,可以通過$變數名或者${變數名} 來獲取變數的內容
如 echo $PATH
使用env命令即可全部列出系統預設的全部系統變量了。
- PATH決定了shell將到哪些目錄中尋找命令或程式
- HOME當前使用者主目錄
- LOGNAME當前使用者的登入名
- HOSTNAME指主機的名稱
- SHELL前使用者Shell型別
- LANG語言相關的環境變數,多語言可以修改此環境變數
- PWD當前目錄
不過evn 只是顯示系統的環境變數。當然還有其他預設的變數 ,看可以使用set 命令檢視
set命令不僅會顯示系統預設的變數,也可以連同使用者自定義的變數顯示出來
那麼如何定義一個變數,並給他賦值呢?
myname=aaa
這樣就完成一個最簡單的變數宣告和賦值,很簡單吧!!
如果我們需要進行更加完整的一些變數賦值,那麼就要好好看一下的內容了。
定義變數時候的規則
a. 設定變數的格式為”a=b”,其中a為變數名,b為變數的內容,等號兩邊不能有空格;
b. 變數名只能由英、數字以及下劃線組成,而且不能以數字開頭;
c. 當變數內容帶有特殊字元(如空格)時,需要加上單引號;如果包含$符號,可以直接定義,不用加單引號
如果變數內容裡面需要帶單引號,那麼就需要在內容外面加上雙引號。
d. 單引號可以讓特殊字元變成普通字元,
如myname=$PATH ,獲得變數PATH的值,賦給變數myname
echo myname
結果是PATH的值
加上單引號 myname='$PATH'
結果是$PATH
e.雙引號,可以保留裡面的特殊字元的作用
myname="$PATH"
結果是PATH的值
f.轉義字元 \ 可以對特殊字元 enter,$ ,\,空格,!等變成一般字元,失去他們的作用
g.如果我們的命令中,需要獲取其他命令的結果,那麼可以使用$()或者反單引號,一般使用$()更加清晰
以上定義出來的變數是字串型別變數,如果我們現在執行命令
a=10+10
echo $a
10+10
看出來了吧。預設變數是字串型別的。
如果我們現在需要定義其他型別的變數該怎麼做?
可以使用declare 的方法
declare [-a i x r]
-a 陣列
-i Integer(數字)
-x 把變數變為環境變數
-r 設定變數為只讀型別變數
例如我們現在要定義一個數字型別的變數,並且給他賦值
declare -i sum
sum=10+10
echo $sum
20
如果我們需要一個數組型別的變數
declare -a
a[0]='aaa'
a[1]='bbb'
echo ${a[0]}
aaa
如果我們需要檢視一個變數的型別
如果我們需要取消某個變數的型別
declare + [a|i] 變數名
前面光講如何設定變數,如果想取消某個變數怎麼辦?只要輸入”unset 變數名”即可。
以上的這些變數的宣告和賦值,只會在當前shell中生效,如果我們切換使用者,那麼該變數的值就沒有了
獲取字串長度:
string="abcd"
echo ${#string} #輸出 4
提取子字串
string="alibaba is a great company"
echo ${string:1:4} //輸出liba
string="alibaba is a great company"
echo $(expr index ${string} great )
找出字串中great的位置
那麼如何讓自己自定義的變數並不僅僅在當前shell 使用呢
如果想要系統所有的使用者都生效,那麼需要修改/etc/profile 檔案
使用vi命令,在檔案中新增一行 ,編輯該檔案的時候,如果當前使用者對檔案沒有寫入許可權,那麼需要先切換到系統使用者賦予許可權或者直接用 root使用者進行修改
寫入檔案之後,可以選擇重啟系統生效,也可以自行命令立刻生效
未完待續
相關推薦
小白linux bash 學習一 變數定義
bash 變數 1 變數 echo $變數 ,可以通過$變數名或者${變數名} 來獲取變數的內容 如 echo $PATH 使用env命令即可全部列出系統預設的全部系統變量了。 PATH決定了shell將到哪些目錄中尋找命令或程式
linux bash學習(一)
技術 bsp style code ram number mage 文件 創建 1.請你以 read 指令的用途,撰寫一個 script ,他可以讓使用者輸入:1. first name 與 2. last name, 最後並且在屏幕上顯示:“Your full nam
小白的java學習之路 “ 選擇結構(一)”
測試 exti 邏輯運算符 main system 有一個 學習 並且 oid if選擇結構: if選擇結構是根據條件判斷之後再做處理的一種語法結構。 1.if選擇結構的語法: public class Demo{ public static void main(
一個小白對如何學習Linux的認知
首先: Linux是一個系統,不管這個系統怎麼樣的安全,怎麼樣的複雜,都始終改變不了它是一個系統的本質。 其實一開始學習Linux的時候,我心底始終對Linux有一絲恐懼,或者說有一絲認知,就是覺得Linux很難學,我要花很多精力去學習 然後去網上查詢很多基礎命令,一個一個敲,當然這也是必
(一):小白的Flink學習計劃以及進度表
文章目錄 學習計劃 以下幾個階段,其實並不是這麼界限分明(比如你在學視訊時,也完全可以看書看原始碼什麼的),這只是我的大致劃分,適合自己的才是最好的。 第一階段 看視訊 在我看來,看視訊是快速的、粗
小白應該如何學習Linux,我的一些心得分享.
大家好,今天給大家分享一下0基礎的人如何入門Linux,此文來源:我在上班的路上看到一篇文章,也是寫的0基礎的人如何學習Linux的文章。當時我在想,我寫博文一年多,都是相關Linux及Python等技術的文章,卻從來沒有寫過,我小白到入門的一些過程及學習方法。
Linux bash總結(一) 基礎部分(適合初學者學習和非初學者參考)
歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。 新的改變 我們對Markdown編輯器進行了一些功能
小白Linux第六天
centos71、系統目錄ls是list的縮寫,ls ls / 只要是列出系統的目錄與文件命令與其功能;[[email protected]/* */ ~]# ls /bin dev home lib64 mnt proc run srv tmp var boot e
前端小白之每天學習記錄----php(2)數據庫操作軟件
blog 4行 pan 一個數 修改 列數 tor 清0 插入數據 數據庫 存儲數據的倉庫(軟件)(DBA:Database Administrator)數據庫管理員mysqlsqlserveroracle...... 數據庫軟件架構 C(client)->
前端小白之每天學習記錄----php(6)面向對象
prop 封裝數據 ima 影片 最大的 const object 經理 符號 php面向對象類: 一類共性事物的抽象 比如: eg:車子 共性:類的共性 eg:輪子、能動 對象: 類造出來的 eg:自行
前端小白之每天學習記錄----js簡單的組件封裝
學習 styles this src 元素 modal info clas mov 設計模式:是解決問題的模板 關於設計模式,可以閱讀湯姆大叔的博文http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 這裏
小白必看 學習PHP的6個步驟10個技巧
php 教程 在這個終身學習的時代,資訊泛濫的時代,我們需要的能力並不是去背誦相應的知識點,而是掌握學習方式。學習PHP也是如此,有時候技巧和步驟比埋頭苦幹要有效得多。下面小編就和大家分享一下學習PHP的6個步驟(僅僅是簡單概括)和10個技巧。 1、首先需要熟悉HTML/CSS/JS等網頁基本元素,完
linux shell學習一
交互 博客 value 定義 設計 int 語言 $2 環境 本博客參考自: http://www.cnblogs.com/waitig/p/5523409.html 《shell從入門到精通》 張春曉編著 Shell簡介 Shell自身是一個用C語言編寫的程序,
【計算機網絡】 一個小白的DNS學習筆記 (>﹏<)
網絡 relay 自己的 使用 source media top img rdquo 參考書籍 《計算機網絡-自頂向下》 作者 James F. Kurose DNS的作用 DNS是因特網的目錄服務 DNS是因特網的目錄服務,它提供了主機名到IP地址映
小白的java學習之路 “ 選擇結構(二)”
pre ring 問題 -s stat 適合 static 之路 span switch 選擇結構: 為什麽使用switch選擇結構: switch選擇結構可以更好地解決等值判斷問題。 switch選擇結構的四個關鍵字: switch case default
小白的java學習之路 “ 類和對象”
之路 抽象 AS 類和對象 可維護 屬性和方法 style “.” 信息 一.※ 萬物皆對象 二.對象的兩個特征: 屬性:對象具有的各種特征 方法:對象執行的操作 對象:用來描述客觀事物的一個實體,由一組屬性和方法構成 三.
小白的java學習之路 "類的無參方法"
rgs 學習 定義 沒有 java學習 AR public 值類型 它的 Java註釋: //:單行註釋 /**/:多行註釋 /** */:JavaDoc註釋語法: 訪問修飾符 返回值類型 方法名(){
小白的java學習之路 “ 字符串”
輸入 bsp 轉換成 con substring todo 字符 void inpu 定一個字符串可以使用string類和stringbuffer類。 string類提供了大量的操作字符串的方法,常用的如下: 獲得字符串的長度: length()。 比較字符串:equals
Python小白的最佳學習方法
基礎語法 子域名 結構 web 適合 分享 面向 端口掃描 網站 給大家介紹幾個比較適合新手的視頻, 1、Python 信息安全工具開發 <<<<使勁戳 本視頻屬於工具類,從Python語言開發基礎講起,由淺入深,講解Python開發信息安全工
新手小白Linux(Centos6.5)部署java web項目(mysql5.7安裝及相關操作)
UNC cancel linux系統安裝 temporary tran sch statement current datadir 一、安裝 參考:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yu