Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Mistofelees - 18.11.21 - klo:15.12
-
En löydä mistään tietoa C:n kielletyista komentoriviargumenteista.
'$' argumentin ensimmäisenä merkkinä ei toimi.
Jos '$' on keskellä sanaa, se ja loppusana katoavat
Onko joku temppu, jolla C:n saisi hyväksymään dollarimerkin komentorivillä ?
'$GPRMC ' on selkeämpi parametri, kuin 'GPRMC'
-
Se johtuu bash:sta, joka tulkitsee $:lla alkavat merkit ympäristömuuttujaksi.
Sen saa kierrettyä:
#include <stdio.h>
#include <string.h>
int main (int argc,char **args)
{
if (argc>1) printf("%s\n",args[1]);
}
g++ argtest.c -o argtest
Sitten päätteessä:
./argtest 'koe$koe'
tai
./argtest koe\$koe
eikä siis näin...
./argtest koe$koe
Edit -
./argtest koe$HOME
-
Kiitos !
Bash on niin täynnä omituisia koukeroita, että olen usein toivonut, että m$ ja *n?x olisivat ottaneet komentotulkiksi Basic:n.
TAI että olisin itse ottanut aikojen alussa csh:n käyttöön.
Nyt ei viitsisi enää vaihtaa, koska servereillä ja pöytäkoneissa on jo satoja bash:lla kirjoitettuja scriptejä.