Cov lus hais sib tw siv tau siv nyob rau hauv Linux cov kab lus hais kom sib piv ib lub hauv paus rau lwm tiam sis nws siv ntau dua hauv BASH plhaws ntawv los ua ib feem ntawm cov lus sib tw uas tswj cov kev logic thiab cov kev khiav dej num.
Ib qho piv txwv
Koj tuaj yeem sim ua cov lus txib no tsuas yog qhib qhov chaw dav hlau .
kev ntsuam xyuas 1-nyhav 2 & & echo "yes" || ncha "tsis muaj"
Cov lus txib saum toj no tuaj yeem tawg ua raws li nram no:
- Kev xeem - txhais tau hais tias koj tab tom ua kom sib piv
- 1 - thawj lub caij koj yuav mus sib piv
- -eq (li cas yog koj muab piv, qhov no, koj sim seb ib tus lej sib npaug li cas)
- 2 - lub caij uas koj tau muab piv rau thawj thawj zaug
- & & - khiav cov lus nram qab no yog tias qhov no muaj tseeb
- echo "yes" - qhov kev hais kom khiav yog qhov kev sib piv rov qab tseeb
- || - khiav cov lus nram qab no yog tias qhov tshwm sim tsis tseeb
- ncha "tsis muaj" - qhov kev hais kom khiav yog qhov kev sib piv rov dag
Hauv qhov tseemceeb, qhov kevcai no piv rau 1 txog 2 thiab lawv phim cov lus qhia "yes" uas yog "yog" thiab yog tias lawv tsis ua raws cov lus "tsis muaj" lo lus "tsis muaj".
Sib piv cov zauv
Yog tias koj muab cov ntsiab lus sib npaug los sib piv nrog cov zauv koj siv tau cov tswv yim nram no:
- -eq - puas nuj nqis 1 nqi sib npaug 2
- -ntxawm - yog tus nqi 1 ntau dua lossis sib npaug rau nqi 2
- -gt - yog tus nqi 1 ntau dua tus nqi 2
- -em - muaj nqis 1 tsawg dua los yog sib npaug rau nqi 2
- -lt - yog tus nqi 1 tsawg dua tus nqi 2
- -nees - tus nqi 1 tsis sib npaug nqi 2
Piv txwv:
kev ntsuam xyuas 1-nyhav 2 & & echo "yes" || ncha "tsis muaj"
(qhia "tsis muaj" rau qhov screen vim 1 tsis sib npaug 2)
kev ntsuam xyuas 1 thiab 2 & echo "yes" || ncha "tsis muaj"
(qhia "tsis muaj" rau qhov kev ntsuam xyuas vim 1 yog tsis ntau dua lossis sib npaug li 2)
xeem 1-Guaj 2 & & echo "tau" || ncha "tsis muaj"
(qhia "tsis muaj" rau qhov kev ntsuam xyuas vim 1 yog tsis siab tshaj 2)
xeem 1 thiab 2 & echo "yog" || ncha "tsis muaj"
(qhia "yog" rau qhov kev tshuaj ntsuam vim 1 yog tsawg dua los yog sib npaug li 2)
kev ntsuam xyuas 1 - 2 & echo "yog" || ncha "tsis muaj"
(qhia "yog" rau qhov kev tshuaj ntsuam vim 1 yog tsawg dua los yog sib npaug li 2)
kev ntsuam xyuas 1-2 thiab "echo" yog "|| ncha "tsis muaj"
(qhia "yog" rau qhov screen vim 1 tsis sib npaug 2)
Sib piv cov ntawv nyeem
Yog tias koj tab tom muab cov ntsiab lus sib npaug raws li cov hlua koj siv tau cov tswv yim nram no:
- = - tsis muaj hlua 1 match string 2
- ! = - yog hlua 1 txawv mus rau txoj hlua 2
- -n - yog txoj hlua ntev tshaj 0
- -z - yog txoj hlua ntev 0
Piv txwv:
kuaj "string1" = "string2" && echo "yog" || ncha "tsis muaj"
(qhia "tsis muaj" rau qhov screen vim "string1" tsis sib npaug "string2")
kuaj "string1"! = "string2" && echo "yog" || ncha "tsis muaj"
(qhia "yog" rau qhov kev tshuaj ntsuam vim tias "string1" tsis sib npaug "string2")
ntsuam xyuas -n "string1" && echo "yog" || ncha "tsis muaj"
(qhia tias "yog" rau qhov kev tshuaj ntsuam vim tias "string1" muaj hlua ntev tshaj li ntawm zero)
xeem -z "string1" && echo "yog" || ncha "tsis muaj"
(qhia "tsis muaj" rau qhov kev tshuaj ntsuam vim "string1" muaj ib txoj hlua ntev tshaj li ntawm zero)
Sib Piv Cov Ntaub Ntawv
Yog tias koj sib piv cov ntaub ntawv koj siv tau cov tswv yim nram no:
- -cov - Ua cov ntaub ntawv muaj cov cuab yeej tib yam thiab cov lej hauv (lawv yog tib cov ntaub ntawv)
- -Nws yog thawj daim ntawv tshiab tshaj ob daim ntawv
- - Yog thawj cov ntaub ntawv loj dua cov ntaub ntawv thib ob
- -b - Cov ntaub ntawv tshwm sim thiab thaiv nrawm tshwj xeeb
- -c - Cov ntaub ntawv tshwm sim thiab yog tus cwj pwm tshwj xeeb
- -d - Cov ntaub ntawv tshwm sim thiab yog directory
- -e - Cov ntaub ntawv no tshwm sim
- -f - Cov ntaub ntawv no tshwm sim thiab yog cov ntaub ntawv tsis tu ncua
- -g - Cov ntaub ntawv no tshwm sim thiab muaj kev qhia txog pawg tsawg
- -G - Cov ntaub ntawv no tshwm sim thiab tus tswv ntawm tus neeg siv pab pawg
- -h - Cov ntaub ntawv tshwm sim thiab yog lub cim qhov txuas
- -k - Cov ntaub ntawv tshwm sim thiab muaj nws cov nplaum nplaum teeb
- -L - Ib yam li -h
- -Ob - Cov ntaub ntawv no tshwm sim koj yog tus tswv
- -p - Cov ntaub ntawv no tshwm sim thiab yog cov yeeb nkab uas muaj npe
- -r - Cov ntaub ntawv tshwm sim thiab nyeem tau
- -s - Cov ntaub ntawv no tshwm sim thiab muaj ib qhov loj dua tshaj xoom
- -S - Cov ntaub ntawv no tshwm sim thiab yog ib lub qhov (socket)
- -t - Cov lus piav qhia yog qhib ntawm lub davhlau ya nyob twg
- -u - Cov ntaub ntawv tshwm sim thiab tus txheej txheem-tus ID-npij me ntsis yog teeb
- -w - Cov ntaub ntawv tshwm sim thiab sau ntawv
- -x - Cov ntaub ntawv tshwm sim thiab executable
Piv txwv:
test / path / mus / file1 -n / path / mus / file2 && echo "yog"
(Yog tias file1 tshiab dua file2 ces lo lus "yog" yuav muab tso tawm)
kuaj -e / kev / mus / file1 && echo "yog"
(yog tias muaj file1 lo lus "yog" yuav muab tso tawm)
xeem -O / kab / los / file1 && echo "yog"
(Yog tias koj muaj file1 ces lo lus "yog" tshwm ")
Terminology
- Block special - Cov ntaub ntawv yog ib qho ntaus ntawv uas txhais tau hais tias cov ntaub ntawv nyeem hauv blocks of bytes. Cov no feem ntau ntaus cov ntaub ntawv xws li cov tsav nyuaj.
- Cim Tshwj Xeeb - Cov ntaub ntawv yog ua raws li tam sim ntawd thaum koj sau ntawv rau nws thiab feem ntau yog ib qho cuab yeej xws li ib qho chaw nres nkoj
Sib piv ntau yam
Li ntawd, txhua yam tau raug muab piv rau ib yam tiv thaiv lwm tiam sis ua li cas yog tias koj xav los sib piv ob yam kev mob.
Piv txwv, yog tias tus tsiaj muaj 4 ceg thiab mus "moo" nws yog ib qho nyuj. Tsuas yog xyuas 4 ceg tsis lav tias koj muaj ib tug nyuj tab sis kuaj lub suab nws ua rau muaj tseeb.
Yuav sim tau kuaj ob qho tib si rau ib zaug siv cov lus nram qab no:
kev ntsuam xyuas 4-ntses 4 -a "moo" = "moo" && echo "nws yog ib tug nyuj" || ncha "nws tsis yog ib tug nyuj"
Lub ntsiab tseem ceeb ntawm no yog lub -a uas sawv kev thiab.
Muaj ib qho kev zoo dua thiab feem ntau uas siv tau los ua qhov kev ntsuam xyuas tib yam thiab yog raws li nram no:
kev xeem 4-e 3 4 && test "moo" = "moo" && echo "nws yog ib tug nyuj" || ncha "nws tsis yog ib tug nyuj"
Lwm qhov kev ntsuam xyuas koj yuav xav ua yog muab piv ob nqe lus thiab yog tias leej twg muaj tseeb tso tawm ib txoj hlua. Piv txwv, yog tias koj xav tau los xyuas tias cov ntaub ntawv muaj npe "file1.txt" tshwm sim los yog muaj ntaub ntawv hu ua "file1.doc" koj muaj peev xwm siv tau cov lus txib nram qab no
kev ntsuam xyuas -e file1.txt -o -e file1.doc & & echo "file1 muaj \" || echo "file1 tsis muaj nyob"
Qhov tseem ceeb ntawm qhov no yog tus-o uas sawv los yog.
Muaj ib qho kev zoo dua thiab feem ntau uas siv tau los ua qhov kev ntsuam xyuas tib yam thiab yog raws li nram no:
kuaj -e file1.txt || kev ntsuam xyuas -e file1.doc & & echo "file1 muaj \" || echo "file1 tsis muaj nyob"
Tshem tawm Lo Lus Lub Ntsiab Lus
Koj tsis yog yuav tsum tau siv cov lus xeem los ua qhov sib piv. Txhua yam koj yuav tsum ua yog muab cov lus nyob hauv cov square ua raws li nram no:
[-e file1.txt] & & echo "file1 muaj \" || echo "file1 tsis muaj nyob"
[Thiab] yeej txhais tau tib yam li kev sim siab.
Tam sim no koj paub qhov no koj tuaj yeem txhim kho ntawm kev sib piv ntau yam hauv qab no:
[4-ej 4] & & ["moo" = "moo"] && echo "nws yog ib tug nyuj" || ncha "nws tsis yog ib tug nyuj"
[-e file1.txt] || [-e file1.doc] && echo "file1 muaj nyob" || echo "file1 tsis muaj nyob"
Txoj kev xaus
Cov lus hais qhov kev ntsuam xyuas tau pab tau zoo tshaj hauv cov ntawv sau tseg vim tias koj tuaj yeem ntsuam xyuas tus nqi ntawm ib qho txawv ntawm lwm qhov thiab tswj cov kev pab cuam khiav. Ntawm cov kab hais kom ua, koj siv tau los soj ntsuam seb puas muaj ntaub ntawv los yog