Učím sa prostredníctvom tohto tutoriálu naučiť bash skripty automatizovať niekoľko úloh pre mňa. Pripájam sa na server pomocou putty.
Skript, ktorý sa nachádza v .../Documents/LOG
, je:
#!/bin/bash
# My first script
echo "Hello World!"
A vykonal som nasledovné pre oprávnenia na čítanie/zápis/vykonanie
chmod 755 my_script
Potom, keď zadám ./my_script
, dostanem chybu uvedenú v nadpise.
Niektoré podobné otázky chceli vidieť tieto, tak si myslím, že by mohli pomôcť:
which bash
/bin/bash
a
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/mh
Skúšal som pridať aktuálny adresár do PATH
, ale nefunguje to..
S týmto problémom som sa stretol pri vytváraní skriptov v prostredí Windows a ich následnom prenose na prostredie Unix.
Skúste na skripte spustiť dos2unix
:
http://dos2unix.sourceforge.net/
Alebo jednoducho prepíšte skript vo svojom unixovom prostredí pomocou vi
a otestujte.
Unix používa iné koncovky riadkov, takže nemôže'čítať súbor, ktorý ste vytvorili vo Windows. Preto vidí ^M ako nepovolený znak.
Ak chcete napísať súbor vo Windows a potom ho preniesť, uistite sa, že váš editor je nastavený na vytváranie súborov vo formáte UNIX.
V Poznámkovom bloku++ v pravom dolnom rohu obrazovky sa zobrazí informácia o formáte dokumentu. V predvolenom nastavení je uvedené Dos\Windows
. Ak to chcete zmeniť, prejdite na
Ak na úpravu skriptov používate Sublime Text v systéme Windows alebo Mac:
Kliknite na Zobraziť > Konce riadkov > Unix
a uložte súbor znova.