Příkaz funguje, ale ve skriptu nikoliv

Příkaz funguje, ale ve skriptu nikoliv
« kdy: 12. 03. 2019, 12:37:36 »
Ahoj, prosím si informaci, co dělám špatně. Když níže uvedený příkaz z echo odešlu do terminálu tak funguje, ale jak je níže vidět, tak pokud je ten příkaz zpracováván v rámci skriptu, tak nefunguje.

Zdrojový kód:
Kód: [Vybrat]
EXECUTE="/opt/rh/$DEPENDENCY/root/usr/bin/pg_dump $DATABASE > $DST/$NAME"
EXECUTE="$DEPENDENCY \"sudo -Hiu postgres $EXECUTE\""
EXECUTE="scl enable $EXECUTE"
echo $EXECUTE
echo "$($EXECUTE)"

Co píše echo:
Kód: [Vybrat]
scl enable rh-postgresql94 "sudo -Hiu postgres /opt/rh/rh-postgresql94/root/usr/bin/pg_dump template1 > /srv/pathto/postgresql/rh-postgresql94/template1/2019-03-12.sql.gz"
Co píše zpracování příkazu:
Kód: [Vybrat]
Unable to open /etc/scl/conf/"sudo!
Máte prosím někdo nápad v čem by mohla být chyba, když příkaz funguje, ale ve skriptu tentýž příkaz nefunguje? Je potřeba to nějak přezávorkovat?




Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #1 kdy: 12. 03. 2019, 13:11:34 »
Máte prosím někdo nápad v čem by mohla být chyba
Tento radek velmi pravdepodobne nedela to, co si myslis, ze dela:

Kód: [Vybrat]
echo "$($EXECUTE)"

Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #2 kdy: 12. 03. 2019, 13:29:23 »
Jo to echo jsem už dávno smazal, zbylo tam:
Kód: [Vybrat]
$($EXECUTE)
Ale problém přetrvává.

Jak bych měl ten vymodelovaný příkaz z proměnné $EXECUTE spouštět korektněji?


Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #3 kdy: 12. 03. 2019, 13:42:38 »
Jo to echo jsem už dávno smazal, zbylo tam:
Kód: [Vybrat]
$($EXECUTE)
Coz je porad spatne. Nastuduj si, co $(...) dela.

Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #4 kdy: 12. 03. 2019, 13:52:45 »
Netusim co chces tym skriptom dokazat, ale ked uz skladas prikazy skus pouzit "eval" alebo si vyescapuj uvodzovky


Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #5 kdy: 12. 03. 2019, 14:07:23 »
Jupí už mi to funguje, použil jsem:
$(eval $EXECUTE)

Přitom o několik řádků výše jsem eval použil minule, ale už jsem na to zapomněl proč jsem to udělal a jak to funguje.

Vyescapuj to jsem přece dělal? To jsou ty zpětné lomítka před uvozovkami, aby se neukončovaly ty příkazy ne? Nebo jak jsi to myslel? Podle mě jsem to vyescapoval, ale možná si to nějak pletu.

Každopádně děkuji za připomenutí eval, pomohlo mi to. Díky moc.

Re:Příkaz funguje, ale ve skriptu nikoliv
« Odpověď #6 kdy: 12. 03. 2019, 14:59:15 »
Nemůžeš použít  třeba sshfs, z Win si připojíš používaný adresář a pak už si ve Win edituješ čím chceš?