C++:lla bash scriptauksen opettelun välttö

Deopuk

Miten pitkälle voi korvata bash:in .sh tiedostojen käytön opettelua tekemällä tarvitut asiat c :lla? Olisi hyvä jos c :aa opettelevan ei tarvitsisi opetella toista kieltä tiettyihin toimintoihin.

Tässä on c esimerkki komentorivien käytöstä "system" komennon avulla: (normaali muistutus vertailumerkkien korvauksesta) (astyle on hyvä lähdekoodin muotoiluohjelma, johon tarvitaan mutkikkaat komentoriviparametrit)

#include pienempi_kuiniostreamsuurempi_kuin
#includepienempi_kuincstdiosuurempi_kuin
#includepienempi_kuincstdlibsuurempi_kuin
#includepienempi_kuincstringsuurempi_kuin
#includepienempi_kuinstringsuurempi_kuin
using namespace std;
int main( int argc, char **argv )
{
char ckr[400];
const char *akri={"astyle -v -A7 -U -D "};
string sav( argv[1] );
string sakri( akri );
sakri =sav;
strcpy( ckr, sakri.c_str() );
system( ckr );

return 0;
}

1

248

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • TRRY

      Kirjoittamasi koodi yrittää ehkä tehdä saman kuin Bash-skripti

      #!/bin/bash
      exec astyle -v -A7 -U -D "$1"

      mutta tekee sen paljon huonommin. C -ohjelmasi ei toimi, jos parametri on 400 merkin pituinen tai jos se sisältää välilyöntejä. Se hukkaa astyle:n paluuarvon ja käynnistää ylimääräisen prosessin. Nämä ovat tietenkin sivuseikkoja siihen verrattuna, että ohjelma on Bash-skriptiin verrattuna lukukelvoton ja se pitää kääntää ennen kuin sitä voi käyttää.

      > Olisi hyvä jos c :aa opettelevan ei tarvitsisi opetella toista kieltä tiettyihin toimintoihin.

      Yhtä hyvä kuin jos lääkäriksi opettelevan ei tarvitsisi opetella tikkien ompelun lisäksi laastarin käyttöä. Tuloksena olisi tehottomuutta ja turhaa kipua.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 193
      2439
    2. Hei A, osaatko

      sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en
      Ikävä
      54
      2174
    3. Euroviisut fiasko, Suomen kautta aikain typerin esitys, jumbosija odottaa. Olisi pitänyt boikotoida!

      Tämän vuoden euroviisut on monella tapaa täydellinen fiasko. Ensinnäkin kaikkien itseään kunnioittavien eurooppalaisten
      Maailman menoa
      190
      2113
    4. Synnittömänä syntyminen

      Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.
      Helluntailaisuus
      172
      1712
    5. Mitä tämä tarkoittaa,

      että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?
      Ikävä
      41
      1354
    6. Nukkumisiin sitten

      Käsittelen asiaa tavallani ja toiveissa on vielä että tästä pääsee hyppäämään ylitse. Kaikenlaisia tunteita on läpikäyny
      Ikävä
      4
      1277
    7. Tuollainen kommentti sitten purjehduspalstalla

      "Naisen pillu se vasta Bermudan kolmio on. Sinne kun lähdet soutelemaan niin kohta katoaa sekä elämänilo että rahat"
      Suhteet
      7
      1242
    8. Muistatko komeroinnin?

      Taannoin joskus kirjoitin aloituksen tänne komeroinnista eli hikikomoreista; syrjäytyneistä nuorista ihmisistä. Ehkä asu
      Suhteet
      48
      1215
    9. Syö kohtuudella niin et liho.

      Syömällä aina kohtuudella voi jopa laihtua.On paljon laihoja jotka ei harrasta yhtään liikuntaa. Laihuuden salaisuus on
      Laihdutus
      18
      1212
    10. Venäjän sissit lakkojohtajat

      Odottavat 'lisätä lakkoja' Toverit käskyttää. Eikä ensimmäinen kerta.
      Suomen Keskusta
      3
      1108
    Aihe