Vähän menee offtopic mutta mitä eroa on kun päätteesä laittaa käskyjä putkeen puolipisteellä ja &&?
Puolipisteellä tehdään seuraava komento aina, && jälkeen taasen tehdään vain jos se edellinen komento meni virheittä.
komento1 ; komento2 ; komento3 <--- tehdään peräkkäin oli edellisen komennon tulos mikä hyvänsä
komento1 && komento2 && komento3 <-- seuraava tehdään vain jos edellinen ei ilmoittanut virhettä
Tuosta on joitakin käteviä muunnoksia:
[ -d "/home/liisa" ] && echo "Hakemisto on olemassa"
Testataan onko hakemisto olemassa ja tehdään oikeanpuoleinen komento jos löytyi.
Asia voidaan myös kääntää. Käyttämällä || "tuplaputkea" saadaan vastakkainen toiminta: Jatketaan letkaa eteenpäin vain jos edellinen epäonnistuu. Jos ajatellaan tuota edellistä esimerkkiä niin voitaisiin sanoa vaikkapa:
[ -d "/home/liisa" ] || sudo mkdir "/home/liisa"
eli testataan onko tuo hakemisto olemassa --> epäonnistui eli jatketaan seuraavaan komentoon ja luodaan se hakemisto.