Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Pracovní prostředí => Téma založeno: Uran 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
ln -s "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" /mnt/data/books/Precist/
Vytvori se symlink, ktery je vsak neplatny
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"?
-
Tak jsem nasel a upravil (uzavreni poromenych do ") skript
#!/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?
-
Já bych na to šel zhruba takto:
#!/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
-
Já bych na to šel zhruba takto:
#!/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
-
sudo apt-get install nautilus-actions
Systém > Předvolby > Nastavení Akcí Nautilus
-
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 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?
-
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:
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.