Bash a spouštění příkazů

Jirka

Bash a spouštění příkazů
« kdy: 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


Ramtech

Re:Bash a spouštění příkazů
« Odpověď #1 kdy: 01. 07. 2013, 15:45:41 »
Pod akým užívateľom to púštaš?

2012

Re:Bash a spouštění příkazů
« Odpověď #2 kdy: 01. 07. 2013, 15:45:53 »
#!bin/bash -> #!/bin/bash ?

win2mac

Re:Bash a spouštění příkazů
« Odpověď #3 kdy: 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

Jirka

Re:Bash a spouštění příkazů
« Odpověď #4 kdy: 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.


host

Re:Bash a spouštění příkazů
« Odpověď #5 kdy: 02. 07. 2013, 07:59:27 »
vymaz prvy riadok a nahrad ho:

#! /bin/sh

Jirka

Re:Bash a spouštění příkazů
« Odpověď #6 kdy: 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.

gamer

Re:Bash a spouštění příkazů
« Odpověď #7 kdy: 02. 07. 2013, 08:28:05 »
strace akt.sh

gamer

Re:Bash a spouštění příkazů
« Odpověď #8 kdy: 02. 07. 2013, 08:30:02 »
respektive
strace -f akt.sh
bude lepsi

Jirka

Re:Bash a spouštění příkazů
« Odpověď #9 kdy: 02. 07. 2013, 08:50:41 »
u strace mi to hlásí
strace akt.sh: command not found

gamer

Re:Bash a spouštění příkazů
« Odpověď #10 kdy: 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

Jirka

Re:Bash a spouštění příkazů
« Odpověď #11 kdy: 02. 07. 2013, 09:16:31 »
strace vypsalo mraky textu, ale stejně se to neprovedlo.
strace -f su akt.sh

gamer

Re:Bash a spouštění příkazů
« Odpověď #12 kdy: 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.

Re:Bash a spouštění příkazů
« Odpověď #13 kdy: 02. 07. 2013, 09:27:17 »
od -t x1 akt.sh

dos2unix akt.sh


Kit

Re:Bash a spouštění příkazů
« Odpověď #14 kdy: 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.