spustenie C programu v skripte bash

Sekcia: Programovanie 23.11.2012 | 23:46
Avatar mariena   Používateľ
nevie mi niekto poradit, ako spustim v skripte v bashi ceckovsky program bez pouzitia ./program 3....ale iba program 3?
    • Re: spustenie C programu v skripte bash 24.11.2012 | 00:09
      Denwerko2   Návštevník
      jedna z moznosti je, ze ten program pridas do PATH

      dalsia je, ze upravis PATH tak, aby sa v nom nachadzal adresar s tym programom
      • Re: spustenie C programu v skripte bash 24.11.2012 | 00:17
        Avatar mariena   Používateľ
        o tom som sa docitala.... a akym prikazom presne pridam ten moj program do path?
        • Re: spustenie C programu v skripte bash 24.11.2012 | 04:57
          Avatar Grawp   Používateľ
          PATH je premenna, pracuj s nou ako s premennou v BASHi, cize PATH="xxxx".
          Cesty v path su oddelene dvojbodkou a do PATH budes chciet len pridat nejaky (trebars aktualny) adresar, cize: PATH="${PWD}":"${PATH}". To si daj niekde na zaciatok skriptu a od toho miesta v nom nebudes musiet pisat ./
          • Re: spustenie C programu v skripte bash 24.11.2012 | 05:01
            Avatar Grawp   Používateľ
            Ak by to tak bolo defaultne pre kazdy adresar, potom by vznikla velmi nebezpecna situacia. Utocnik by napr. mohol do nejakeho adresara skryt nejaky zaskodnicky program s nazvom cp. Ak by si nahodou potom chcela kopirovat na tom kluci subory a bola by si v tom adresari, miesto kopirovacieho prikazu cp by si pustila dany program!
            • Re: spustenie C programu v skripte bash 24.11.2012 | 11:02
              Avatar mariena   Používateľ
              no teda dakujem uz mi to konecne ide :) vdaka
              • Re: spustenie C programu v skripte bash 25.11.2012 | 17:05
                Avatar juray ArchLinux  Používateľ
                alebo neupravuj PATH. jednoducho ak program vyvynies a bude pripraveny na pouzivanie v neakej tej "ostrej prevadzke" alebo ako to nazvat, nainstaluj/nakopiruj ho do /usr/bin alebo /usr/local/bin. skratka do nejakeho standartneho adresara, ktory sa na tento ucel pouziva....

                podobne sa v tychto adresaroch nachadzaju programceky ako ls, mkdir, cp, echo, ktore rovnako pouzivas v skriptoch.

                pozri si v terminali:

                $ which echo ls mkdir
                $ man which


                dalsia moznost je vytvorit si alias.