Permalänk
Inaktiv

Hjälp med enkelt skript

Hejsan, skrev ett enkelt skript som laddar upp torrents till min server, skriptet körs sedan i en crontab.

#!/bin/bash PATH=~/Downloads/*.torrent SERVER=user@server:watch/ FIND=$(ls ~/Downloads/ | grep .torrent) if [ $FIND == $1 ]; then exit else scp -B $PATH $SERVER && rm -f $PATH fi

När det inte finns en torrent i den valda mappen funkar det prima, samma sak gäller när en torrent faktiskt finns i mappen. Filen laddas upp men jag får fortfarande ett error.

./torrent.sh: line 7: [: namn_på_torrenten.torrent: unary operator expected

Nån som vet vad felet är?

Permalänk
Medlem

#!/bin/bash PATH=~/Downloads/*.torrent SERVER=user@server:watch/ FIND=$(ls $PATH) if [ "$FIND" ]; then exit else scp -B $PATH $SERVER && rm -f $PATH fi

Borde funka tycker man.

Visa signatur

Plan9 fan. In glenda we trust.

Permalänk
Inaktiv

Tack dagle, fick det att funka genom att byta plats på de två.

#!/bin/bash PATH=~/Downloads/*.torrent SERVER=user@server:watch/ FIND=$(ls $PATH | grep .torrent) if [ "$FIND" ]; then scp -B $PATH $SERVER && rm -f $PATH else exit fi

Permalänk
Medlem

Varför envisas du med "FIND=$(ls $PATH | grep .torrent)"? "ls $PATH" visar redan endast .torrent-filer.

Ett annat tips;
Jag har gjort så att min webbläsare öppnar alla .torrent filer med följande bash-script;

#!/bin/bash scp -CB $1 user@server:~/path/to/torrents/.watch/ rm -f $1

Där $1 innehåller den temporära plats som torrenten sparas på (/tmp/fil.torrent).
Spara och gör exekverbar (chmod +x torrent_scp.sh). Nästa gång man ska ladda ner en torrent väljer man att (alltid) öppna med denna fil.
Fungerar både under Linux och OS X.

Edit: Jag är slö på att skriva svar.

Visa signatur

01001000 01100001 01110010 00100000 01100100 01110101 00100000 01110100 01110010 10000110 01101011 01101001 01100111 01110100 00111111 00100000 00111010 00101001

Permalänk
Hedersmedlem

Felet du får i originalscriptet beror på ==.

if [ $FIND == $1 ]
ska vara
if [ "$FIND" = "$1" ]


Den nya lösningen känns bättre, tänkte bara påpeka ändå.

Visa signatur

Asus B550M-Plus / Ryzen 5800X / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + HDDs / Corsair RM650x / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av twan
Varför envisas du med "FIND=$(ls $PATH | grep .torrent)"? "ls $PATH" visar redan endast .torrent-filer.

Ett annat tips;
Jag har gjort så att min webbläsare öppnar alla .torrent filer med följande bash-script;

#!/bin/bash scp -CB $1 user@server:~/path/to/torrents/.watch/ rm -f $1

Där $1 innehåller den temporära plats som torrenten sparas på (/tmp/fil.torrent).
Spara och gör exekverbar (chmod +x torrent_scp.sh). Nästa gång man ska ladda ner en torrent väljer man att (alltid) öppna med denna fil.
Fungerar både under Linux och OS X.

Edit: Jag är slö på att skriva svar.

Verkar vara en vettigare lösning. Sitter själv bakom Leopard, vilken webläsare använder du? Behöver inte $1 definieras?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av .mp3
Verkar vara en vettigare lösning. Sitter själv bakom Leopard, vilken webbläsare använder du? Behöver inte $1 definieras?

$1 är väl bara första argumentet?

http://tldp.org/LDP/abs/html/othertypesv.html - läs på om positional variables

Visa signatur

Jag sover bäst under bord

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av .mp3
Verkar vara en vettigare lösning. Sitter själv bakom Leopard, vilken webläsare använder du? Behöver inte $1 definieras?

Nej, $1 är det första argumentet till scriptet, $2 det andra osv. Om man väljer att webbläsaren ska öppna .torrent-filer med scriptet så skickas sökvägen till den nerladdade filen som argument.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jnk3
Nej, $1 är det första argumentet till scriptet, $2 det andra osv. Om man väljer att webbläsaren ska öppna .torrent-filer med scriptet så skickas sökvägen till den nerladdade filen som argument.

Precis.

Sen om man kör OSX kan man ju använda det här (mer info längre upp i den tråden).

Visa signatur

01001000 01100001 01110010 00100000 01100100 01110101 00100000 01110100 01110010 10000110 01101011 01101001 01100111 01110100 00111111 00100000 00111010 00101001

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av twan
Precis.

Sen om man kör OSX kan man ju använda det här (mer info längre upp i den tråden).

Sådär ja, nu fick jag det att fungera. Dock har inte Safari möjligheten att välja vilket program en vis filtyp ska öppnas med. Men jag löste det med ett Automator mappkommando.

Tack för all hjälp!