a在當(dāng)前光標(biāo)后追加數(shù)據(jù)
A在當(dāng)前光標(biāo)所在行行尾追加數(shù)據(jù)
r char 用char替換當(dāng)前光標(biāo)所在位置的單個(gè)字符
R text用text覆蓋當(dāng)前光標(biāo)所在位置的數(shù)據(jù)
p粘貼
v高亮
y復(fù)制
構(gòu)建腳本:
第一行
#!/bin/bash //指定要使用的shell
#作為注釋
#date顯示日期
#who顯示顯示當(dāng)前是誰(shuí)登錄到系統(tǒng)上
想要顯示""或者'',就用相對(duì)的引號(hào)將字符串劃定起來(lái)
可以將echo添加到任何需要顯示額外信息的地方
如果想將文本字符串和命令輸出顯示在同一行中:
echo -n "The time and date are: "
date
將命令輸出賦給變量
第一種:反引號(hào)字符`
第二種:$()
today=$(date +%y%m%d)
ls /usr/bin -al > log.$today
重定向輸入和輸出:
輸出重定向:
command > outputfile
用雙>>號(hào)來(lái)追加數(shù)據(jù)
輸入重定向:
command < inputfile
如:wc < a.txt
2 11 60
顯示的分別是行數(shù),詞數(shù),字節(jié)數(shù)
管道:
command1 | command2
兩個(gè)命令同時(shí)進(jìn)行,不會(huì)有中間文件和緩沖區(qū)
rpm -qa | sort
產(chǎn)生安裝包的列表,且按順序排列
可在一個(gè)命令中運(yùn)用多個(gè)管道.
expr命令:在命令行處理數(shù)學(xué)表達(dá)式
expr 1 + 5
6
(記得用轉(zhuǎn)義符)
將一個(gè)數(shù)學(xué)運(yùn)算結(jié)果賦給某個(gè)變量時(shí),可以用美元符號(hào)和方括號(hào)將數(shù)學(xué)表達(dá)式圍起來(lái)
$[operation]
[]內(nèi)可以不用轉(zhuǎn)義符
浮點(diǎn)號(hào)解決方法
bc //可以識(shí)別到數(shù)字,變來(lái)那個(gè),注釋.表達(dá)式,編程語(yǔ)句,函數(shù)
//quit是退出的標(biāo)志
scale控制bc的浮點(diǎn)運(yùn)算,需要提前設(shè)置浮點(diǎn)有多少位
scale=4
3.44 / 5
.6880
quit
bc還可以支持變量
在腳本中使用bc
variabl=$(echo "options; expression" | bc)
options允許設(shè)置變量
var1=$(echo "scale=4; 3.44/5" | bc)
echo The answer is $var1
//得到:the answer is .6880
bc命令識(shí)別重定向
variable=$(bc << EOF
options
statements
expressions
EOF
)
例如:
var1=10.46
var2=43.67
var3=33.2
var4=71
var5=$(bc << EOF
scale = 4
a1 = ($var1 * $var2)
b1 = ($var3 * $var4)
a1 + b1
EOF
)
echo the final answer fo this mess is $var5
退出腳本
$?保存上個(gè)已執(zhí)行命令的退出碼
正常退出碼是0,
exit 可以指定一個(gè)退出碼狀態(tài)(也可以在里面指定一個(gè)狀態(tài))
結(jié)構(gòu)化命令的使用:
if-then語(yǔ)句
if command
then
command
fi
(如果if后面命令的退出碼狀態(tài)是0,則執(zhí)行then后面的命令)
if pwd
then
echo "It worked"
fi
在then部分可以使用不止一條命令。
if command
then
command
else
command
fi
then和else里面可以再繼續(xù)嵌套if語(yǔ)句
if commad1
then
commands
elif command2
then