Minulla on harjoitus laittaa tiedostoon joitain tietoja (* conf joistakin hakemistoista) ja minun on tehtävä tämä taustalla. Tein sen ja mietin, mikä on tulosviestien merkitys:
[A@localhost tests]$ ls -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 &
Enter nousee tämä rivi:
[1] 2533
mitä se tarkoittaa? Muiden Enter-merkintöjen jälkeen näkyviin tulee toinen viesti
[A@localhost tests]$ [1]+ Exit 2 ls --color=auto -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1
Mitä se tarkoittaa? Mikä on ”Poistu 2”?
Anna tarkistustulokset – kaikki näyttävät olevan kunnossa.
[A@localhost tests]$ [A@localhost tests]$ ls -l test1_6_conf.txt -rw-rw-r--. 1 A A 2641 Nov 22 14:19 test1_6_conf.txt [A@localhost tests]$
Käytän CentOS 6.4: ää, Gnome-päätelaiteemulaattori.
Vastaa
Mitä se tarkoittaa? Mikä on ”Poistu 2”?
Se on ryhmän ls
poistumistila. Katso mies ls: ltä:
Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
Syynä on se, että sinulla on paljon * conf-tiedostoja /etc
ja ei * conf-tiedostoja tiedostossa / usr. Itse asiassa ls -ld /usr/*conf;
olisi ollut sama vaikutus.
Joten jos teen tietokoneellani ls
olemassa olevalle tiedosto:
ls main.cpp; echo $? main.cpp 0
Ja tiedostolle, jota ei ole:
ls main.cppp; echo $? ls: cannot access main.cppp: No such file or directory 2
Tai taustaprosessina ls tiedostolle, jota ei ole olemassa:
>ls main.cppp & [1] 26880 ls: cannot access main.cppp: No such file or directory [1]+ Exit 2 ls main.cppp
kommentit
Vastaa
Tämä tarkoittaa, että komento on valmis joiden poistumistila on eri kuin 0 (menestys).
Yritä jättää (&) loppuun , nähdäksesi mitä tapahtuu.
Jos komento vie paljon käynnissä, voit tarkistaa sen seuraavalla tavalla:
lnx #> työpaikat -l
ls /usr/*conf
palauttaa2
, koska yksikään " conf "./usr/*conf
. Jabash
välittää sille tiedostonimen, koska se ei voi ' löytää tiedostoja, jotka vastaavat kyseistä mallia. Paremmat kuoret, kutenzsh
, olisivat palauttaneet " ei vastaavuuksia " -virheen eivätkä olisi suorittaneetls
lainkaan.