shell編程筆記(四)__編程

來源:互聯網
上載者:User

echo顏色輸出 位置參數變數 預定義變數 read接受指令碼參數輸入 declare source命令

echo顏色輸出

今天才發現原來echo還可以輸出帶顏色的字串

echo -e "asdasd\e[1;32m abcd \e[0m"

使用-e選項,\e[1;32m \e[0m這是顏色環繞的格式,32m是顏色代碼,網上可以查到其他顏色,輸出結果:

還學到了bash_history檔案,裡面存放的是shell命令記錄,本次登入執行的命令預設會在登出後儲存到該檔案中,不過我們可以直接執行history -w在登出前就儲存到.bash_history檔案中

$()和反引號作用是相同的,推薦使用$()
位置參數變數

$n $* $@ $#

以上四個位置參數變數分別代表,傳入的第n個參數參數,傳入的所有參數,傳入的每一個參數,傳入的參數的個數

#!/bin/bashfor i in "$*"        do                 echo "The parameter is: $i"        donex=1for y in $@        do                echo "The parameter$x is: $y"                x=$(($x+1))        done

由上面的指令碼我們可以看出來$* 和 $@是有區別的,$*將所有參數當成了一個整體,因此迴圈只執行了一次 預定義變數

$? $$ $!

上面三個預定義變數分別表示上一條命令的執行結果(0代表正確執行,非0代表錯誤執行,具體是哪一個非0數由命令自己決定),當前進程的PID,後台執行的最後一個進程的PID read接受指令碼參數輸入

#!/bin/bashread -t 6 -p "Please input your name:" nameecho $nameecho -e "\n"read -s -t 6 -p "Please enter your age:" ageecho "Age is $age"echo -e "\n"read -n 1 -t 6 -p "Please select your gender[M/F]:" genderecho "Sex is $gender"
-n -t -p

以上三個選項分別代表要讀入的參數個數,等待輸入的時間長度,是否為機密輸入(在輸入的時候不回顯字元) declare

用法declare [+/-][選項]

- 給變數設定類型+ 取消變數類型-i 將變數聲明為整型INTEGER-x 將變數聲明為環境變數-p 查看變數的值


我們最常用的數值運算方式是這樣的:

aa=11bb=22cc=$(($aa + $bb))

注意: aa和 a a 和 aa和bb之間的空格是不可省略的
還有一種寫法,是使用expr

cc=$(expr $aa + $bb)

空格不可省略 source命令

一幫情況下,更改完設定檔之後,要登出重新登入才會生效,不過我們可以直接使用source命令,使設定檔直接生效

source conf_File
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.