Kuoren syntaksit: Kuinka käyttää \ oikein viivojen katkaisemiseksi? [kaksoiskappale]

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 kehotteen PS2. 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 laitoin OR ja AND 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ä).

Vastaa

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