Me pehea te Whakamahia Nga Tikanga Whakamātautau I roto i te Tuhipuhi Bash

Ka taea te whakamahi i te tono whakamatautau ki te raina whakahau Linux hei whakataurite i tetahi huanga ki tetahi atu engari kei te nuinga o te whakamahi i roto i nga tuhinga tuhi BASH hei wāhanga o nga korero whaimana e whakahaere ana i te aronga me te rere o te hōtaka.

He Tauira Tuatahi

Ka taea e koe te whakamatautau i enei whakahau na te whakatuwhera i te matapihi matatau .

whakamātautau 1 -eq 2 & echo "ae" || koki "kore"

Ka taea te pakaru te whakahau i runga ake nei:

Ko te tikanga, ko te whakahau e whakataurite ana ki te 1 ki te 2, ka rite hoki te korero ki te kupu "yes" e whakaatu ana i te "ae" me te kore e rite ki te korero koki "kahore" e whakaatu ana "no".

Te whakataurite i nga Tauemi

Mena kei te whakataurite koe i nga huānga e puta ana hei tau, ka taea e koe te whakamahi i nga kaiwhakahaere whakarite e whai ake nei:

Hei tauira:

whakamātautau 1 -eq 2 & echo "ae" || koki "kore"

(nga whakaaturanga "no" ki te mata no te mea kaore i te rite te 1)

whakamātautau 1 -ge 2 & echo "ae" || koki "kore"

(nga whakaaturanga "no" ki te mata no te mea ehara i te nui atu te rite ki te 2)

whakamatau 1 -gt 2 & echo "ae" || koki "kore"

(whakaatu "no" ki te mata no te mea ehara i te nui atu i te 2)

whakamātautau 1-2 me te koki "ae" || koki "kore"

(whakaatuhia "ae" ki te mata no te mea he iti iho i te kotahi te rite ki te 2)

test 1 -lt 2 & echo "yes" || koki "kore"

(whakaatuhia "ae" ki te mata no te mea he iti iho i te kotahi te rite ki te 2)

whakamātautau 1 -ne 2 & echo "ae" || koki "kore"

(he whakaatu "ae" ki te mata no te mea kaore i te rite te 1)

Te whakataurite i te Kuputuhi

Mena kei te whakataurite koe i nga huānga ka puta i nga aho ka taea e koe te whakamahi i nga kaiwhakahaere whakarite e whai ake nei:

Hei tauira:

test "string1" = "string2" & echo "ae" || koki "kore"

(whakaatu "no" ki te mata no te mea kaore te "string1" e rite ana "string2")

test "string1"! = "string2" & echo "ae" || koki "kore"

(whakaatu "ae" ki te mata no te mea kaore te "string1" e rite ana "string2")

test -n "string1" & echo "ae" || koki "kore"

(whakaatu "yes" ki te mata no te mea he "string1" he aho roa atu i te kore)

test -z "string1" & echo "ae" || koki "kore"

(whakaatu "no" ki te mata na te mea "string1" he roa te roa o te aho neke atu i te kore)

Te whakataurite ana i nga Kōnae

Mena kei te whakataurite koe i nga kōnae ka taea e koe te whakamahi i nga kaiwhakahaere whakarite e whai ake nei:

Hei tauira:

test / path / to / file1 -n / path / to / file2 & echo "ae"

(Ki te mea hou atu te file1 i te file2, ka whakaaturia te kupu "ae")

whakamatautau -e / ara / ki / file1 & echo "ae"

(ki te waiho te kōnae1 kei te whakaatu te kupu "ae" ka whakaaturia)

test -O / path / to / file1 & echo "ae"

(ki te mea kei a koe te kōnae1 ka whakaatuhia te kupu "ae" ")

Te Terminology

Te whakataurite i nga Mahinga Maha

I tenei wa kua whakaritea nga mea katoa ki tetahi atu, engari ki te hiahia koe ki te whakarite i nga tikanga e rua.

Hei tauira, mehemea he 4 nga waewae o te kararehe, ka haere "moo" he kau. Ko te titiro noa mo nga waewae e 4 kaore i te whakautu he poaka taau, engari ko te tirotiro i te tangi e mahia ana.

Hei whakamatautau i nga tikanga e rua ka whakamahi i te korero o muri:

test 4 -eq 4 -a "moo" = "moo" & echo "he kau" || tangi "ehara i te kau"

Ko te wahi matua i konei ko te -a e tu ana me te.

He pai ake te whakamahi i te whakamatautau kotahi, a, ko te mea e whai ake nei:

whakamātautau 4 -eq 4 & test "moo" = "moo" & echo "he kau" || tangi "ehara i te kau"

Ko tetahi atu whakamatautau ka hiahia pea koe ki te whakarite i nga korero e rua, me te mea he tohu pono te aho. Hei tauira, ki te hiahia koe ki te tirotiro kei te noho tetahi kōnae e huaina ana ko "file1.txt" kei te noho ranei tetahi kōnae e karangatia ana "file1.doc" ka taea te whakamahi i te whakahau e whai ake nei

test -e file1.txt -o -e file1.doc & echo "file1 kei roto" || kaore te kupu "file1 i te tīariari"

Ko te wahi matua i konei ko te -o tera e tu ana mo te.

He pai ake te whakamahi i te whakamatautau kotahi, a, ko te mea e whai ake nei:

whakamatautau -e file1.txt || test -e file1.doc & echo "file1 kei roto" || kaore te kupu "file1 i te tīariari"

Te whakaiti i te Kuputuhi Whakamātautau

Kaore e tino hiahia koe ki te whakamahi i te whakamatautau kupu hei mahi i te whakataurite. Ko nga mea katoa ka mahia e koe ko te korero i roto i nga karaka tapawha e whai ake nei:

[-e file1.txt] & echo "file1 kei roto" || kaore te kupu "file1 i te tīariari"

Ko te tikanga [me] te tikanga rite te whakamatautau.

Na e mohio ana koe ka taea e koe te whakapai ake i te whakataurite i nga tikanga maha e whai ake nei:

[4 -eq 4] & ["moo" = "moo"] & echo "he kau" || tangi "ehara i te kau"

[-e file1.txt] || [-e file1.doc] & echo "file1 kei roto" || kaore te kupu "file1 i te tīariari"

Whakarāpopoto

Ko te whakahau whakamatautau he pai ake i roto i nga tuhinga mo te mea ka taea e koe te whakamatautau i te uara o tetahi taurangi ki tetahi atu waa rererangi. I runga i te raupapa paerewa paerewa, ka taea e koe te whakamahi hei whakamatautau kei te noho te kōnae