из примеров, помоему, все ясно, поэтому нихрена описывать не буду :)
$ e=`ls =cat`;print "Folder " $e:h "file " $e:t
Folder /bin file cat
$ filename=(image.png document.doc test.sh)
$ print -l $filename:r
image
document
test
$ print -l $filename:e
png
doc
sh
$ filename=$filename:u
$ print $filename
IMAGE.PNG DOCUMENT.DOC TEST.SH
$ filename=$filename:l
$ print $filename
image.png document.doc test.sh
$ u="test"
$ print $u[1]
t
$ VAR=”this is a big long sentence”
$ VAR[(w)5]
long
$ echo $VAR[(w)2,(w)5]
is a big long
$ echo $VAR[(w)2,15]
is a big l
$ VAR="this/is/a/long/sentence"
$ print -l $VAR[(ws./.)4]
long
$ VAR=`pwd`
$ print $VAR
/usr/share/doc
$ print ${(s./.)VAR}
usr share doc
$ print ${VAR:gs./.:.}
:usr:share:doc
или
$ print ${VAR:gs:/:.:}
.usr.share.doc
$ VAR=`head /etc/passwd`
$ print $VAR[(f)1]
root:x:0:0:root:/root:/bin/zsh
Некоторые полезные, для скриптов, конструкции(крайне полезно, когда нужно задать дефолтное значение):
${+VAR} #если переменная VAR существует возвращается 1 иначе 0
$ VAR=""
$ print ${+VAR}
1
$ print ${+AR}
0
${VAR:-word} #Если переменная VAR существует и не равна "" то возвращается она же, иначе возвращается word.
$ print ${AR:-word}
word
$ print ${VAR:-word}
word
$ VAR="hello"
$ print ${VAR:-word}
hello
${VAR:+word} #Если переменная VAR существует и не равна "" то возвращается word, иначе ничего
$ VAR="test"
$ print ${VAR:+word}
word
${name#pattern}
${name##pattern}
незнаю в чем различие но эФфект следующий: возвращается окончание строки за исключением начала которое совпадает с pattern:
$ VAR="hello world"
$ print ${VAR#hell}
o world
${name%pattern}
${name%%pattern}
тоже самое только возвращает начало
$ print ${VAR%%world}
hello
$ print ${VAR%%ll*d}
he
Также стоит обратить особое внимание на typeset, насколько я понял этой хренью мы можем явно обьявить тип переменной, я пока что обратил внимание на typeset -A variable это позволит превратить нашу переменную variable в, говоря по питоновски, словарь. Например:
$ typeset -A VAR
$ VAR=(1 test 5 pass 3 help 7 hello)
$ print $VAR[5]
pass
$ print $VAR[3]
help
если явно не указывать тип то присвоив таким образом значение переменной мы получим список:
$ VAR=(1 test 5 pass 3 help 7 hello)
$ print $VAR[4]
pass
если же мы значения запишем в кавычках то получим простую строку:
$ VAR='1 test 5 pass 3 help 7 hello'
$ print $VAR[4]
e
пожалуй хватит.
суббота, 19 июля 2008 г.
вторник, 20 мая 2008 г.
apt-key add
Если после apt-get update мы получаем что-то вроде этого:
«…
W: GPG error: http://deb.opera.com etch Release: Следующие подписи не могут быть проверены, так как недоступен общий ключ: NO_PUBKEY 033431536A423791
W: Вы можете запустить ‘apt-get update’ для исправления этих ошибок»
Выполните в консоли:
$gpg --keyserver subkeys.pgp.net --recv-keys 033431536A423791
$gpg --armor --export 033431536A423791 | apt-key add -
$apt-get update
«…
W: GPG error: http://deb.opera.com etch Release: Следующие подписи не могут быть проверены, так как недоступен общий ключ: NO_PUBKEY 033431536A423791
W: Вы можете запустить ‘apt-get update’ для исправления этих ошибок»
Выполните в консоли:
$gpg --keyserver subkeys.pgp.net --recv-keys 033431536A423791
$gpg --armor --export 033431536A423791 | apt-key add -
$apt-get update
Раскладки (xkb)
Берём этот файлик /usr/share/X11/xkb/symbols/ru
заменяем им стандартный
Берём файлик /etc/X11/xkb/base.xml
делаем ту же процедуру.
Все можно выбирать раскладку в “настройках клавиатуры” гнома, раскладка называется «Winkeys+Typography»
После этого можна будет набирать украинские символы нажав Ralt, плюс еще всякие юникод символы типа 3³≠⅛
Полный список возможных символов можно посмотреть на картинке при выборе раскладки.
Идея и некоторые части файла были позаимствованы отсюда
Продолжаем разговор:
Будем настраивать переключение раскладки следующим способом:
CapsLock - включает en
Alt+CapsLock - включает ru
Переходим в /usr/share/X11/xkb
Добавляем в symbols/group строки
в файл symbols.dir
в файл rules/base
в файл rules/base.lst
в файл rules/base.xml, в секцию <optionList>
И теперь новую раскладку можно выбрать в настройках гнома.
заменяем им стандартный
Берём файлик /etc/X11/xkb/base.xml
делаем ту же процедуру.
Все можно выбирать раскладку в “настройках клавиатуры” гнома, раскладка называется «Winkeys+Typography»
После этого можна будет набирать украинские символы нажав Ralt, плюс еще всякие юникод символы типа 3³≠⅛
Полный список возможных символов можно посмотреть на картинке при выборе раскладки.
Идея и некоторые части файла были позаимствованы отсюда
Продолжаем разговор:
Будем настраивать переключение раскладки следующим способом:
CapsLock - включает en
Alt+CapsLock - включает ru
Переходим в /usr/share/X11/xkb
Добавляем в symbols/group строки
// using the group(alt_caps_toggle_my) map, pressing:
// Alt+Caps Lock toggles 2 group
// Caps Lock toggles 1 group
partial modifier_keys
xkb_symbols "alt_caps_toggle_my" {
key <CAPS> {
type="PC_ALT_LEVEL2",
symbols[Group1]= [ ISO_First_Group, ISO_Last_Group ]
};
};
в файл symbols.dir
--p----- -m------ group(alt_caps_toggle_my)
в файл rules/base
grp:alt_caps_toggle_my = +group(alt_caps_toggle_my)
в файл rules/base.lst
grp:alt_caps_toggle_my CapsLock switch to first layout, Shift+Alt switch to last layout.
в файл rules/base.xml, в секцию <optionList>
<option>
<configItem>
<name>grp:alt_caps_toggle_my</name>
<description>CapsLock switch to first layout, Shift+Alt switch to last layout.</description>
</configItem>
</option>
И теперь новую раскладку можно выбрать в настройках гнома.
Подписаться на:
Сообщения (Atom)
