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

  • O! Kiitos. Nyt olen ' ymmärtänyt, että ls /usr/*conf palauttaa 2, koska yksikään " conf ".
  • @ALZ, huomaa, että se palauttaa arvon 2, koska se ei löydä tiedostoa nimeltä /usr/*conf. Ja bash välittää sille tiedostonimen, koska se ei voi ' löytää tiedostoja, jotka vastaavat kyseistä mallia. Paremmat kuoret, kuten zsh, olisivat palauttaneet " ei vastaavuuksia " -virheen eivätkä olisi suorittaneet ls lainkaan.

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *