1. 程式人生 > >shell學習小Demo

shell學習小Demo

檔案操作命令wc

#!/bin/bash
echo 顯示行數
wc -l demo01.sh
echo 顯示檔案中最長行的長度
wc -L demo01.sh
echo 顯示Bytes數
wc -c demo01.sh

顯示行數
7 demo01.sh
顯示檔案中最長行的長度
27 demo01.sh
顯示Bytes數
137 demo01.sh

位置引數

#!/bin/bash
echo 指令碼共輸入了$#個引數
echo 指令碼的名字為$0
echo 第一個引數為$1
echo 第二個引數為$2
echo 第三個引數為$3
echo 第四個引數為$4
echo 第五個引數為$5
echo 第六個引數為$6 echo 指令碼傳入的引數為:$*

[[email protected]udent01 be_bash]# ./demo03.sh hello h 001 089 hihi seven six eight
指令碼共輸入了8個引數
指令碼的名字為./demo03.sh
第一個引數為hello
第二個引數為h
第三個引數為001
第四個引數為089
第五個引數為hihi
第六個引數為seven
指令碼傳入的引數為:hello h 001 089 hihi seven six eight

變數 @

@和 *的區別

#!/bin/bash
echo 使用for結構處理變數[email protected]
count=1
for tmpstr in "[email protected]"
do
        echo$count 個變數的值為:$tmpstr
        count=$[$count +1]
done
echo
echo 使用for結構處理變數$*
count=1
for tmpstr in "$*
"
do echo$count個變數的值為: $tmpstr count=$[$count+1] done

[[email protected] be_bash]# ./demo02.sh hello world hi hi liang

使用for結構處理變數hello world hi hi liang
第 1 個變數的值為:hello
第 2 個變數的值為:world
第 3 個變數的值為:hi
第 4 個變數的值為:hi
第 5 個變數的值為:liang

使用for結構處理變數hello world hi hi liang
第 1個變數的值為: hello world hi hi liang

單引號的使用

#!/bin/bash
echo 不使用單引號
echo '輸出環境變數$HOME'
echo $HOME
echo 使用反斜線控制符
echo a\tb\a\tc
echo 輸入一個反斜線
echo \\
echo 使用單引號輸出相應的符號
echo '$HOME'
echo 'a\tb\a\tc'
echo '\\'

[[email protected] be_bash]# ./demo04.sh
不使用單引號
輸出環境變數$HOME
/root
使用反斜線控制符
atbatc
輸入一個反斜線

使用單引號輸出相應的符號
$HOME
a\tb\a\tc
\\

雙引號的使用

#!/bin/bash
echo 不使用雙引號
echo '輸出環境變數$HOME'
echo $HOME
echo 使用反斜線控制符
echo a\tb\a\tc
echo 輸入一個反斜線
echo \\
echo 使用雙引號輸出相應的符號
echo "$HOME"
echo "a\tb\a\tc"
echo "\\"

[[email protected] be_bash]# ./demo05.sh
不使用雙引號
輸出環境變數$HOME
/root
使用反斜線控制符
atbatc
輸入一個反斜線

使用雙引號輸出相應的符號
/root
a\tb\a\tc
\

倒引號的使用

#!/bin/bash

echo 使用倒引號封裝命令
echo 登陸系統的使用者為:`who`
echo 當前時間為:`date`
echo 當前檔案的絕對路徑為:`pwd`

[[email protected] be_bash]$ sh demo06.sh
使用倒引號封裝命令
登陸系統的使用者為:

root tty1 2018-11-10 22:48 root pts/0 2018-12-25 23:18 (192.168.228.1)

root pts/1 2018-12-26 08:21 (192.168.228.1)
當前時間為:2018年 12月 26日 星期三 08:50:29 CST
當前檔案的絕對路徑為:/usr/local/src/be_bash

萬用字元的使用