Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jirka 01. 07. 2013, 15:27:43

Název: Bash a spouštění příkazů
Přispěvatel: 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
Název: Re:Bash a spouštění příkazů
Přispěvatel: Ramtech 01. 07. 2013, 15:45:41
Pod akým užívateľom to púštaš?
Název: Re:Bash a spouštění příkazů
Přispěvatel: 2012 01. 07. 2013, 15:45:53
#!bin/bash -> #!/bin/bash ?
Název: Re:Bash a spouštění příkazů
Přispěvatel: win2mac 01. 07. 2013, 15:46:09
 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
Název: Re:Bash a spouštění příkazů
Přispěvatel: Jirka 02. 07. 2013, 07:40:30
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.
Název: Re:Bash a spouštění příkazů
Přispěvatel: host 02. 07. 2013, 07:59:27
vymaz prvy riadok a nahrad ho:

#! /bin/sh
Název: Re:Bash a spouštění příkazů
Přispěvatel: Jirka 02. 07. 2013, 08:15:47
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.
Název: Re:Bash a spouštění příkazů
Přispěvatel: gamer 02. 07. 2013, 08:28:05
strace akt.sh
Název: Re:Bash a spouštění příkazů
Přispěvatel: gamer 02. 07. 2013, 08:30:02
respektive
strace -f akt.sh
bude lepsi
Název: Re:Bash a spouštění příkazů
Přispěvatel: Jirka 02. 07. 2013, 08:50:41
u strace mi to hlásí
strace akt.sh: command not found
Název: Re:Bash a spouštění příkazů
Přispěvatel: gamer 02. 07. 2013, 08:59:38
Jak spoustis ten skript? Spust ho uplne stejne, jen pred to napis strace -f. Pravdepodobne strace -f ./akt.sh
Název: Re:Bash a spouštění příkazů
Přispěvatel: Jirka 02. 07. 2013, 09:16:31
strace vypsalo mraky textu, ale stejně se to neprovedlo.
strace -f su akt.sh
Název: Re:Bash a spouštění příkazů
Přispěvatel: gamer 02. 07. 2013, 09:21:44
Ano a někde v tom textu bude důvod, proč se to nepovedlo ;). Hoď to někam, třeba na pastebin.
Název: Re:Bash a spouštění příkazů
Přispěvatel: Petr Blahos 02. 07. 2013, 09:27:17
od -t x1 akt.sh

dos2unix akt.sh

Název: Re:Bash a spouštění příkazů
Přispěvatel: Kit 02. 07. 2013, 09:50:10
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.
Název: Re:Bash a spouštění příkazů
Přispěvatel: tkk 02. 07. 2013, 11:04:25
Co tomu souboru nastavit v právech sticky bit?
Název: Re:Bash a spouštění příkazů
Přispěvatel: lacod 02. 07. 2013, 15:31:16
Co tak skusit prikaz pwd pred riadkom  mysql --force -u uziv1 -p123 aktualizace < cenik.txt .
Název: Re:Bash a spouštění příkazů
Přispěvatel: Ramtech 02. 07. 2013, 20:21:55
V čom ten skript bol písaný?