Sua sintaxe de definição de função está errada - é foo() {}
, não foo {}
.
# for i in 'pkg_info -q'; do pkg_info -L "$i" | grep ^/ | sed "s/^/$i/g" | perl -pe 's/\//\t\//'; done | grep tasklist.desktop
xfce4-panel-4.10.0p2 /usr/local/share/xfce4/panel/plugins/tasklist.desktop
# pkg_file() { for i in 'pkg_info -q'; do pkg_info -L "$i" | grep ^/ | sed "s/^/$i/g" | perl -pe 's/\//\t\//'; done | grep $1; }
ksh: syntax error: '{' unexpected
#
Q: o que está faltando? Eu só quero colocar no arquivo .profile, mas quando eu coloco a linha em uma função eu recebo o erro mostrado
Você também pode usar ferramentas existentes. O comando pkglocate
do pacote pkglocatedb pode permitir que você pesquise todos os arquivos de qualquer pacote do OpenBSD, não importa se você o instalou ou não :
$ pkglocate /usr/local/share/xfce4/panel/plugins/tasklist.desktop
xfce4-panel-4.10.1:x11/xfce4/xfce4-panel:/usr/local/share/xfce4/panel/plugins/tasklist.desktop
Você pode pesquisar somente pacotes instalados com pkg_info (1) :
$ pkg_info -qE /usr/local/share/xfce4/panel/plugins/tasklist.desktop
xfce4-panel-4.10.1
Tags ksh openbsd shell-script