Tähän kysymykseen on jo vastaus täällä:
Kommentit
- Esimerkki toimii minulle; mitä saat?
- @JeffSchaller Anteeksi, tein sen selvemmäksi. Tarkoitan, että ” \ tarvitaan joihinkin asioihin, mutta ei muihin. Haluan vain tietää sen oikean käytön. Ja jostain outosta syystä \ tähti ei voi korostaa kommenteissa
- \ on nimenomainen jatko; bash antaa sinulle PS2: n, jos komento ei ole vielä valmis. Eikö tämä sekaannus ole?
- En ' ole varma, että tämä on melko kaksoiskappale, ainakaan otsikossa kysytty. Vaikka toimenpideohjelma kysyy & & -kohdan yhteydessä, se on silti riittävän yleinen, mutta kattavampi vastaus voidaan antaa, joka ei ole erityinen siihen.
Vastaa
Jos lause olisi oikea jatkamatta, sinun on käytettävä \
. Siksi seuraava toimii ilman vinoviivaa, koska et voi ”lopettaa komentoa &&
:
echo 1 && echo 2
Täältä tarvitset taaksepäin vinoviivan:
echo 1 2 3 \ 4
tai
echo 1 \ && echo 2
Muuten, bash suorittaa komennon heti ensimmäisen rivin käsittelyn jälkeen odottamatta seuraavaa.
Kommentit
- Joten " jatko " on termi, jota etsin. Bash-käsikirja kertoo sen Lainaus-osiossa, joten löysin sen … Nyt sanoit, että voi ' t lopeta rivi
&&
ja antaa kehotteenPS2
. Mitä muita tapauksia on ? Onko bash-ohjekirjassa jonnekin luetteloa?
Vastaa
Yksi komentosarjan tyyliohjeista I ” Olen kohdannut työelämässäni valtavassa IT-yrityksessä, ja pakotti minut käyttämään ei yli 80 merkkiä riviä kohden simpukkakirjassa ja sisennys rivin rikkomisen jälkeen. Minun täytyi myös katkaista viiva ennen putkea tai & & tai ||. Kuten:
command1 \ && command2 \ || command3 \ | command4
Tavoitteena oli selkeä luettavuus.
Kommentit
- Tein niin, kunnes joku huomautti, että voit jättää \, jos laitat & &, || ja | edellisellä rivillä: Vielä parempi luettavuus.
- @ole yup sain sen, mutta jos on noudatettava ohjetta, koodini ei läpäisi tarkista, voinko ' tehdä sen
- +1. Minulla on tapana käyttää @OleTangein mainitsemaa tyyliä (ainakin pitkiä tai monimutkaisia komentoja varten) – mutta mainitsemallasi tyylillä on selvä etu, että voit nähdä millainen jatko se on vain katsomalla itse linjaa, et ' t on myös tarkasteltava edellisen rivin loppua. Kiva. En ' ole varma, pidänkö siitä tarpeeksi pakottaakseni itseni muuttamaan tapojani, mutta pidän siitä.
- Suoraan sanottuna haluan laittaa
&&
ja||
rivien alussa. Aivan kuten laitoinOR
jaAND
SQL WHERE -lausekkeiden rivien alkuun. - IMO, johdonmukaisuudesta on valtavasti hyötyä. Jos joissakin tapauksissa sinun PITÄÄ käyttää
` and in other cases it is optional, I would prefer to use
`kaikkialla, missä komennoni jatkuu seuraavalla rivillä. Skannaamalla komentosarjaa voit helposti unohtaa, että riviä jatketaan, koska se päättyy&&
tai||
tai|
. (Ja kuten @ErikE sanoo, mieluummin pidän&&
ja||
seuraavalla rivillä).