Shell echo命令
Shell 的 echo 指令與 PHP 的 echo 指令類似相叁,都是用于字符串的輸出铣猩。
1.顯示普通字符串:
echo "It is a test"
這里的雙引號完全可以省略
2.顯示轉義字符
echo "\"It is a test\""
同樣讯检,雙引號也可以省略
3.顯示變量
read 命令從標準輸入中讀取一行,并把輸入行的每個字段的值指定給 shell 變量
#!/bin/sh
read name
echo "$name It is a test"
以上代碼保存為 test.sh芹橡,name 接收標準輸入的變量衍腥,結果將是:
[root@www ~]# sh test.sh
OK #標準輸入
OK It is a test #輸出
4.顯示換行
echo -e "OK! \n" # -e 開啟轉義
echo "It it a test"
輸出結果:
OK!
It it a test
5.顯示不換行
#!/bin/sh
echo -e "OK! \c" # -e 開啟轉義 \c 不換行
echo "It is a test"
輸出結果:
OK! It is a test
6.顯示結果定向至文件
echo "It is a test" > myfile
7.原樣輸出字符串盏缤,不進行轉義或取變量(用單引號)
echo '$name\"'
8.顯示命令執(zhí)行結果
echo `date`
結果將顯示當前日期
Thu Feb 24 10:08:46 CST 2017
Shell printf 命令
printf 命令模仿 C 程序庫(library)里的 printf() 程序绪穆。
標準所定義辨泳,因此使用printf的腳本比使用echo移植性好。
printf 使用引用文本或空格分隔的參數(shù)玖院,外面可以在printf中使用格式化字符串菠红,還可以制定字符串的寬度、左右對齊方式等难菌。默認printf不會像 echo 自動添加換行符试溯,我們可以手動添加 \n。
printf 命令的語法:
printf format-string [arguments...]
參數(shù)說明:
- format-string: 為格式控制字符串
- arguments: 為參數(shù)列表扔傅。
實例如下:
$ echo "Hello, Shell"
Hello, Shell
$ printf "Hello, Shell\n"
Hello, Shell
$
Shell test 命令
Shell中的 test 命令用于檢查某個條件是否成立耍共,它可以進行數(shù)值、字符和文件三個方面的測試猎塞。
實例演示:
num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo '兩個數(shù)相等试读!'
else
echo '兩個數(shù)不相等!'
fi
輸出結果:
兩個數(shù)相等荠耽!
實例演示:
num1="ru1noob"
num2="runoob"
if test $num1 = $num2
then
echo '兩個字符串相等!'
else
echo '兩個字符串不相等!'
fi
輸出結果:
兩個字符串不相等!
實例演示:
cd /bin
if test -e ./bash
then
echo '文件已存在!'
else
echo '文件不存在!'
fi
輸出結果:
文件已存在!
另外钩骇,Shell還提供了與( -a )、或( -o )铝量、非( ! )三個邏輯操作符用于將測試條件連接起來倘屹,其優(yōu)先級為:"!"最高,"-a"次之慢叨,"-o"最低纽匙。例如:
cd /bin
if test -e ./notFile -o -e ./bash
then
echo '有一個文件存在!'
else
echo '兩個文件都不存在'
fi
輸出結果:
有一個文件存在!