Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: nautilus akce a skripty  (Přečteno 1139 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
nautilus akce a skripty
« kdy: 17 Září 2010, 08:47:52 »
Chtel jsem si udelat jednoduchy skript pro nautilus, ktery by mi vytvarel z adresaru a souboru symlinky do urcite slozky a nejak jsem se zasekl na souborech co maji v nazvech mezeru.

Akce v Nautilusu
Kód: [Vybrat]
ln -s "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" /mnt/data/books/Precist/
Vytvori se symlink, ktery je vsak neplatny
Kód: [Vybrat]
jakub@jakub-laptop:/mnt/data/books/Precist$ file 'aaKnižní řady
'
aaKnižní řady
: broken symbolic link to `/mnt/data/books/Knihovna/aaKnižní řady\012'

Co je to za znak \012?

Potom jeste mensi dotaz. Nejde nejak zaridit aby se skripty zobrazovaly v nejvyssi urovni kontextoveho menu a ne v podmenu "Skripty"?
"Pouze text v MS Wordu je opravdu čistý, příteli."

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: nautilus akce a skripty
« Odpověď #1 kdy: 17 Září 2010, 09:36:00 »
Tak jsem nasel a upravil (uzavreni poromenych do ") skript
Kód: [Vybrat]
#!/bin/sh
#Linker...Creates a link into your home directory
# With thanks to Doug Nordwall
for arg
do
 ln -s "$PWD"/"$arg" /mnt/data/books/Precist/"$arg"
done

U slozek to funguje, ale pro jednotlive souboru uz ne.

Edit: beru zpet skript funguje, akorat kdyz v Nautilu pouziju tu stromovou strukturu (+ na rozbaleni slozek v aktualnim adresari) tak to skript vyhodnoti jako ze jsem porad v aktualnim adresari a nikoliv v rozbalenem podadresari. Jde to nejak osterit?
« Poslední změna: 17 Září 2010, 09:52:52 od Uran »
"Pouze text v MS Wordu je opravdu čistý, příteli."

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: nautilus akce a skripty
« Odpověď #2 kdy: 17 Září 2010, 12:02:13 »
Já bych na to šel zhruba takto:
Kód: [Vybrat]
#!/bin/bash

echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed '$d'| while read LINE # sed odstraní poslední prázdnou řádku
   do
ln -s "$LINE" /mnt/data/books/Precist/
   done
« Poslední změna: 17 Září 2010, 12:04:14 od GdH »

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: nautilus akce a skripty
« Odpověď #3 kdy: 17 Září 2010, 12:56:01 »
Já bych na to šel zhruba takto:
Kód: [Vybrat]
#!/bin/bash

echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed '$d'| while read LINE # sed odstraní poslední prázdnou řádku
   do
ln -s "$LINE" /mnt/data/books/Precist/
   done


Dekuji funguje. Jeste nejak prijit na to jak zajistit aby se skripty ukazovali v nejvyssi urovni kontextoveho menu a ne v podmenu "Skripty" a je vyhrano
"Pouze text v MS Wordu je opravdu čistý, příteli."

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: nautilus akce a skripty
« Odpověď #4 kdy: 17 Září 2010, 13:32:44 »
Kód: [Vybrat]
sudo apt-get install nautilus-actions
Systém > Předvolby > Nastavení Akcí Nautilus

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: nautilus akce a skripty
« Odpověď #5 kdy: 17 Září 2010, 13:59:36 »
Kód: [Vybrat]
sudo apt-get install nautilus-actions
Systém > Předvolby > Nastavení Akcí Nautilus

Mam jen se mi jedna o to, kdyz mam uz nejake skripty hotove kam je umistit, aby byli na vyssi urovni v kontextovem menu

Jinak v
Citace
Systém > Předvolby > Nastavení Akcí Nautilus
jsou jen dve kolonky kam se pise prikaz + jeho parametry. To mam chapat jako tak , ze tam mohu nacpat libovony skript?
"Pouze text v MS Wordu je opravdu čistý, příteli."

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: nautilus akce a skripty
« Odpověď #6 kdy: 17 Září 2010, 15:32:49 »
Pro použití v nautilus-actions hlavně budeš muset upravit parsování parametrů, protože proměnné, které posílá Nautilus skriptům, nejsou k dispozici. Ve okénku Command > Parameteres si zapíšeš v tomto případě %M (viz. tlačítko Legend), což přidá jako parametr cesty ke všem vybraným objektům oddělené mezerou. Skript pak může vypadat třeba takto:
Kód: [Vybrat]
echo "$@" |sed  's@ /@\n/@g' | while read LINE # sed rozhodí jednotlivé cesty na samostatné řádky
   do
ln -s "$LINE" /mnt/data/books/Precist/
   done

Dále je třeba v nastavení akce v záložce Conditions zaškrtnout Apears if selection contains > Both a Apears if selection has multiple ... a záložce Akce > Display item in selection context menu

Skripty mohou být uloženy kdekoliv.
« Poslední změna: 17 Září 2010, 15:55:41 od GdH »

 

Provoz zaštiťuje spolek OpenAlt.