1、如何使用shell 列印 「hello world!」
(1)如果你希望列印 !,那就不要將其放入雙引號中,或者你可以通過轉義字元轉義
(2)echo 'hello world!' 使用單引號echo 時,bash 不會對單引號中的變數求值
2、求變數的長度
var='hello world'
echo $ \\ 11
3、$0 表示 shell 的名稱,是那種shell 一般為 bash $shell 為shell 的位置 /bin/bash
4、完成定義2個變數 no1=1,no2=2 no3=no1+no3 ,然後列印 no3
no1=2
no2=3
let no3=no1+no2
echo $no3
如果是 no3=$no1+$no2 會輸出什麼?
5、完成判斷是否為root使用者的shell 命令
if [ $uid -ne 0 ]; then echo 'not root!'; else echo 'root!' ;fi
#if 中括號 槓相不相等,分號 then 直接跟語句 fi
6、shell 進行浮點數運算 1.5*4
var1=1.5
var2=4
result=`echo "$var1*$var2" | bc`
7、執行某條命令cmd,將正確及錯誤資訊都輸入到 output.txt
cmd output.txt 2>&1
8、使用寫乙個指令碼,執行時能夠將下面的內容放入 aa.txt
eof9、定義乙個含有4個元素的一維陣列,並依次完成,列印其中的第2個元素,列印陣列長度,列印所有元素
array_var=(1 2 3 4)
echo $
echo $ 或 echo $
echo $ 或 echo $
10、列印檔案下所有的文字,非目錄
for file in `ls` ;
do if [ -f $file ];
then
echo $file;
fi done
11、按照這種格式輸出時間
2016-01-13 18:06:07 date '+%y%m%d%h%m%s'
20160113180750 date '+%y-%m-%d %t'
1452679772 date '+%s'
12、while 迴圈 10次 依次在螢幕的一行內列印 1-10,列印一次休眠1s
#!/bin/bash
echo -n count:
count=0;
while true;
tput sc; #儲存游標位置
doif [ $count -lt 4 ] ; then
sleep 1;
let count++;
tput rc; #恢復關標位置
tput ed; #清空游標後的內容
echo -n $count;
else
exit 0;
fidone;
13、寫一斷**檢測乙個命令 cmd 是否執行成功
#!/bin/bash
cmd="ls -l"
$cmd
if [ $? -eq 0 ] ; then
echo "$cmd executed successfully"
else
echo "$cmd executed failed"
fi14、以下檔案系統相關判斷分別是什麼含義
[ -f $file ]
[ -d $file ]
[ -e $file ]
[ -w $file ]
[ -r $file ]
[ -x $file ]
15、shell 如何判斷兩個字串是否相等、字串比較大小、字串是否為空
if [[ $str1 = $str2 ]]
if [[ $str1 > $str2 ]]
if [[ -z $str1 ]] #str1 為空 返回真
if [[ -n $str1 ]] #str1 非空 返回真
16、cat 顯示行號 cat -n test.txt
17、使用 find 命令 將某個資料夾下的所有txt 檔案全部找到,並刪除、備份(或 拷貝到另乙個目錄下),分別使用 -exec xargs 等命令
find /i -type f -name "*.txt" -exec cp {} /test \;
find /i -type f -name "*.txt" -exec rm -rf {} \;
find /i -type f -name "*.txt" -print | xargs rm -rf ;
find /i -type f -name "*.txt" -print | xargs -t -i cp {} {}.bak
# 大多數 linux 命令都會產生輸出:檔案列表、字串列表等。但如果要使用其他某個命令並將前乙個命令的輸出作為引數該怎麼辦?例如,file 命令顯示檔案型別(可執行檔案、ascii 文字等);你能處理輸出,使其僅顯示檔名,目前你希望將這些名稱傳遞給 ls -l 命令以檢視時間戳記。xargs 命令就是用來完成此項工作的。他允許你對輸出執行其他某些命令。
# -i 選項告訴 xargs 用每項的名稱替換 {}
18、使用tr 命令 將 hello world 替換成小寫
echo "hello world" | tr 'a-z' 'a-z'
19、替換檔案 text.txt 的所用 製表符為空格
cat text.txt | tr '\t' ''
20、使用 tr 命令 刪除數字
echo 'hello 124 world 345!'| tr -d '0-9' #-d 表示刪除
21、刪除windows檔案「造成」的'^m'字元
cat file | tr -s "\r" "\n" > new_file # -s 表示替換重複的字串
Linux Shell指令碼入門 wc命令
wc 統計檔案裡面有多少單詞,多少行,多少字元。wc語法 root www wc lwm 選項與引數 l 僅列出行 w 僅列出多少字 英文單字 m 多少字元 預設使用wc統計 etc passwd wc etc passwd 4045 1719 etc passwd 40是行數,45是單詞數,171...
Linux Shell指令碼入門 Uniq命令
uniq命令可以去除排序過的檔案中的重複行,因此uniq經常和sort合用。也就是說,為了使uniq起作用,所有的重複行必須是相鄰的。uniq語法 root www uniq icu 選項與引數 i 忽略大小寫字元的不同 c 進行計數 u 只顯示唯一的行 testfile的內容如下 cat test...
linux Shell程式設計入門
本文結合大量例項闡述如何編寫乙個shell指令碼。為什麼要進行shell程式設計 在linux系統中,雖然有各種各樣的圖形化介面工具,但是sell仍然是乙個非常靈活的工具。shell不僅僅是命令的收集,而且是一門非常棒的程式語言。您可以通過使用shell使大量的任務自動化,shell特別擅長系統管理...