echo

echo命令介紹

linux的echo命令, 在shell編程中極爲經常使用, 在終端下打印變量value的時候也是經常用到的, 所以有必要了解下echo的用法linux

echo命令的功能是在顯示器上顯示一段文字,通常起到一個提示的做用。
該命令的通常格式爲: echo [ -n ] 字符串
其中選項n表示輸出文字後不換行;字符串能加引號,也能不加引號。用echo命令輸出加引號的字符串時,將字符串原樣輸出;用echo命令輸出不加引號的字符串時,將字符串中的各個單詞做爲字符串輸出,各字符串之間用一個空格分割。shell

功能說明:顯示文字。
語   法:echo [-ne][字符串]或 echo [--help][--version]
補充說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 並在最後加上換行號。編程


參   數:bash

-n 不要在最後自動換行
-e 若字符串中出現如下字符,則特別加以處理,而不會將它當成通常編輯器


文字輸出:
   \a 發出警告聲;
   \b 刪除前一個字符;
   \c 最後不加上換行符號;
   \f 換行但光標仍舊停留在原來的位置;
   \n 換行且光標移至行首;
   \r 光標移至行首,但不換行;
   \t 插入tab;
   \v 與\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八進制)所表明的ASCII字符;
–help 顯示幫助
–version 顯示版本信息測試

Shell 腳本的編寫spa

l Shell 腳本是純文本文件,可使用任何文本編輯器編寫進程

l Shell 腳本一般是以 .sh 做爲後綴名ip

 

 Shell 腳本的執行ci

chmod +x script_name

./script_name

bash script_name

 

 Shell 腳本的格式

u 第一行:指定用哪一個程序來編譯和執行腳本。

#!/bin/bash

#!/bin/sh

#!/bin/csh

 

 可執行語句和 shell 控制結構

一個 shell 腳本一般由一組 Linux 命令、shell 命令、控制結構和註釋語句構成。

 註釋以 「 # 」 開頭,可獨佔一行,或跟在語句的後面。

 

 

 

echo    $!返回值

注意:若是返回值是0,就是執行成功;若是是返回值是0之外的值,就是失敗。

 

 

返回值爲0,說明上一步執行正確

當一個進程執行完畢時,該進程會調用一個名爲 _exit 的例程來通知內核它已經作好「消亡」的準備了。該進程會提供一個退出碼(一個整數)代表它準備退出的緣由。按照慣例,0用來表示正常的或者說「成功」的終止。

測試表達式的值

1、 內置測試命令 test

 

l 一般用 test 命令來測試表達式的值

x=5; y=10

test $x -gt $y

echo $?

l test 命令能夠用 方括號 來代替

x=5; y=10

[ $x -gt $y ]               方括號先後要留空格!

echo $?

 

.x 版本以上的 Bash 中能夠用雙方括號來測試表達式的值,此時可使用通配符進行模式匹配

name=Tom

[ $name = [Tt]?? ]

echo $?

[[ $name = [Tt]?? ]]

echo $?

 

3、 字符串測試              操做符兩邊必須留空格!

[ -z str ]

若是字符串 str 長度爲 0,返回真

[ -n str ]

若是字符串 str 長度不爲 0,返回真

[ str1 = str2 ]

兩字符串相等

[ str1 != str2 ]

兩字符串不等

name=Tom; [ -z $name ]; echo $?

name2=Andy; [ $name = $name2 ] ; echo $?

整數測試

q 整數測試,即比較大小

[ int1 -eq int2 ]

 int1 等於 int2

[ int1 -ne int2 ]

 int1 不等於 int2

[ int1 -gt int2 ]

 int1 大於 int2

[ int1 -ge int2 ]

 int1 大於或等於 int2

[ int1 -lt int2 ]

 int1 小於 int2

[ int1 -le int2 ]

 int1 小於或等於 int2

x=1; [ $x -eq 1 ]; echo $?

 

q 整數測試也可使用 let 命令或雙圓括號

l 相應的操做符爲:                                 只能用於整數測試!

== != > >= < <=

l 例:x=1; let "$x == 1"; echo $?

x=1; (($x+1>= 2 )); echo $?

q 兩種測試方法的區別

l 使用的操做符不一樣

l let 和 雙圓括號中可使用算術表達式,而中括號不能

l let 和 雙圓括號中,操做符兩邊能夠不留空格

邏輯測試

[ expr1 -a expr2 ]

邏輯,都爲真時,結果爲真

[ expr1 -o expr2 ]

邏輯,有一個爲真時,結果爲真

[ ! expr ]

邏輯

x=1; name=Tom;

[ $x -eq 1 a –n $name ]; echo $?

 

注:不能隨便添加括號,下面是錯誤的

[ ( $x -eq 1 ) a ( –n $name ) ]; echo $?

相關文章
相關標籤/搜索