Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Jirka 01. 07. 2013, 15:27:43
-
Trápím se už celý a nedaří se mi :-(
Nainstaloval jsem si lubuntu a potřeboval bych udělat bash skript
Udělám soubor akt.sh, přidělím práva na spuštění, spustím sh akt.sh a napíše mi to chybu
no such file.sh: cannot open cenik.txt
no such file.sh: cannot open /home/test/karty.txt
akt.sh
#!bin/bash
mysql --force -u uziv1 -p123 aktualizace < cenik.txt
mysql --force -u uziv1 -p123 aktualizace < /home/test/karty.txt
když ten příkaz mysql..... zadám v terminálu, tak je to v pořádku.
Kde dělám chybu?
Předem děkuji za pomoc
-
Pod akým užívateľom to púštaš?
-
#!bin/bash -> #!/bin/bash ?
-
chybí vám tam lomítko
akt.sh
#!/bin/bash
mysql --force -u uziv1 -p123 aktualizace < cenik.txt
mysql --force -u uziv1 -p123 aktualizace < /home/test/karty.txt
-
tak jsem to opravil na #!/bin/bash a pořád stejná chyba.
Spouštím to jak pod normálním uživatelem, tak pod rootem a pořád to nejde.
Je nějaká jiná možnost jak udělat něco jako je v dosu *.BAT?
V bashi to nějak nejde nebo je někde něco špatně nastavené :-(
Díky.
-
vymaz prvy riadok a nahrad ho:
#! /bin/sh
-
s #! /bin/sh je stejný výsledek.
Když dám do toho skriptu jen jeden řádek s mysql.....
#!/bin/bash
mysql --force -u uziv1 -p123 aktualizace < /home/test/cenik.txt
tak je to ok, ale jakmile tam přidám druhý řádek
#!/bin/bash
mysql --force -u uziv1 -p123 aktualizace < /home/test/cenik.txt
mysql --force -u uziv1 -p123 aktualizace < /home/test/karty.txt
tak to hodí zase tu chybu.
-
strace akt.sh
-
respektive
strace -f akt.sh
bude lepsi
-
u strace mi to hlásí
strace akt.sh: command not found
-
Jak spoustis ten skript? Spust ho uplne stejne, jen pred to napis strace -f. Pravdepodobne strace -f ./akt.sh
-
strace vypsalo mraky textu, ale stejně se to neprovedlo.
strace -f su akt.sh
-
Ano a někde v tom textu bude důvod, proč se to nepovedlo ;). Hoď to někam, třeba na pastebin.
-
od -t x1 akt.sh
dos2unix akt.sh
-
Zkus to spouštět jen ./akt.sh .
Zkus si ujasnit, zda ten skript chceš spouštět přes sh nebo přes bash. Ručně ho spouštíš přes bash a divíš se, že ti to nefunguje v sh. sh má přece jen trochu jiné vlastnosti než bash.
-
Co tomu souboru nastavit v právech sticky bit?
-
Co tak skusit prikaz pwd pred riadkom mysql --force -u uziv1 -p123 aktualizace < cenik.txt .
-
V čom ten skript bol písaný?