Temat: Prosty skrypt w OpenWRT - problem

Cześć!
Korzystam z OpenWRT (Gargulec). Do tego transmission. Po pobraniu torrenta ma mi wysłać email i pobrać napisy. Napisałem sobie prosty skrypcik uruchamiany przez transmission po zakończeniu pobierania:

#!/bin/sh

EMAIL="Subject: Pobrano $TR_TORRENT_NAME"

echo $EMAIL | msmtp MyEmail@domain.com

source /usr/bin/napi.sh -f subrip $TR_TORRENT_NAME

Email leci pięknie, jednak wygląda jakby gruga część (czyli wywołanie napi.sh) nie działała.
Czy dobrze to napisałęm? Podejrzewam, że jakiś głupi błąd... Nie znam się na bashu...
Parametr $TR_TORRENT_NAME jest z automatu przekazywany do skryptu więc muszę wywołać napi. sh w sposób taki, aby nie był oddzielnym procesem (bo też potrzebuje ten parametr). Ktoś może zrobił coś takiego i pomoże?

WDR4300 / BB OpenWRT+Luci / ZTE MF821 (Play LTE) w/ Extroot on uSD
MR3220 / OpenWRT (repeater WiFi)
FSC Futro S450 jako domowy serwer powered by Debian

2

Odp: Prosty skrypt w OpenWRT - problem

Po prostu

/usr/bin/napi.sh -f subrip $TR_TORRENT_NAME

A nie tak jak napisałeś. Inna sprawa - $TR_TORRENT_NAME może być katalogiem lub archiwum z filmem - i tu sam musisz się zatroszczyć o wykrycie co jest czym i ew. rozpakowanie tego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Prosty skrypt w OpenWRT - problem

To "source" to zaczerpnąłem z netu gdzieś:

There are a couple of ways you can do this:

    The first is to make the other script executable, add the #!/bin/bash line at the top, and the path where the file is to to the $PATH environment variable. Then you can can call it as a normal command.

    Call it with the source command (alias is .) like this: source /path/to/script.

    Use the bash command to execute it: /bin/bash /path/to/script.

The first and third methods executes the script as another process, so variables and functions in the other script will not be accessible. The second method executes the script in the first scripts process, and pulls in variables and functions from the other script so they are usable from the calling script.

(jako, że zmienna musi być dostępna dla napi.sh). Miałem wcześniej tak jak napisałeś - też qpa i nie ściągało nic.
O tym, że to nazwa torrenta to zapomniałem [shame]... Jednakl nawet dla filmów o takiej samej nazwie nic się nie dzieje. Jak z palca napi.sh wywołam to działa.

PS. Jakiś pomysł jak dobrać się do nazwy pliku/katalogu po zassaniu torrenta?

WDR4300 / BB OpenWRT+Luci / ZTE MF821 (Play LTE) w/ Extroot on uSD
MR3220 / OpenWRT (repeater WiFi)
FSC Futro S450 jako domowy serwer powered by Debian

4

Odp: Prosty skrypt w OpenWRT - problem

W openwrt jest ash, bardzo prosty shell, nie jest bash i nie akceptuje on jego rozwiązań. Używaj ogólnych poleceń do powłoki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Prosty skrypt w OpenWRT - problem

Ps. To jest właśnie nazwa pliku czy katalogu. Tylko co dalej z tym to już musisz sam sobie pomyśleć. Na forum transmission były gotowce.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Prosty skrypt w OpenWRT - problem

Spróbuję ze zmienną TR_TORRENT_DIR smile Może w NAME jest jeszcze coś innego... Wywołanie napi.sh na katalogu zaciąga napisy do wszystkich plików w tym katalogu... Dam znać jak się to zakończyło dzisiaj wieczorkiem smile Dziękuję!

WDR4300 / BB OpenWRT+Luci / ZTE MF821 (Play LTE) w/ Extroot on uSD
MR3220 / OpenWRT (repeater WiFi)
FSC Futro S450 jako domowy serwer powered by Debian

7

Odp: Prosty skrypt w OpenWRT - problem

TR_TORRENT_DIR zwraca katalog gdzie leżą wszystkie ściągnięte torrenty
TR_TORRENT_DIR = download-dir z configu transmission więc nie tego szukasz

chyba tak będzie lepiej dla Ciebie

SRC_DIR="${TR_TORRENT_DIR}/${TR_TORRENT_NAME}"

/usr/bin/napi.sh -f subrip $SRC_DIR

Linksys EA8500: LEDE
Belkin AC1750DB: OpenWrt CHAOS CALMER
2x TpLink TL-WDR3600: OpenWrt Attitude Adjustment
TpLink TL-WR1043ND: OpenWrt Attitude Adjustment