# 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
#
问:我缺少什么?我只想放入 .profile 文件,但是当我将该行放入函数中时,出现了显示的错误
答案1
您还可以使用现有的工具。命令pkglocate
来自pkglocatedbpackage 可以让你搜索任何 OpenBSD 软件包中的所有文件,无论你是否安装了它:
$ 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
您可以仅搜索已安装的软件包包装信息(1):
$ pkg_info -qE /usr/local/share/xfce4/panel/plugins/tasklist.desktop
xfce4-panel-4.10.1
答案2
您的函数定义语法是错误的 - 它是foo() {}
,而不是foo {}
。