Для этого используйте команду find
export -f myshellfunc
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec bash -c 'myshellfunc "$0"' {} \;
НЕОБХОДИМО экспортировать функцию оболочки с помощью export -f
.
Теперь find
выполняет bash
, который выполняет функцию оболочки, и остается только на текущем уровне dir.
Исправил это некоторое время назад, подумал, что опубликовал это здесь. Все, что мне нужно было сделать, это установить ОС как один раздел, по какой-то причине она отформатировала другие каталоги неправильного размера.
-121--27346-Вместо:
FILES=`ls *.zip`
Попробуйте:
FILES=`ls * | grep *.zip`
В этом пути при сбое ls (что и происходит в вашем случае) он будет возвращен в виде пустой переменной.
current file is <---Blank Here
Можно добавить к этому некоторую логику, чтобы вернуть значение «No File Found»
#!/bin/bash
FILES=`ls * | grep *.zip`
if [[ $? == "0" ]]; then
for fname in "$FILES" ; do
echo current file is $fname
done
else
echo "No Files Found"
fi
Этот путь, если предыдущая команда выполнена успешно (с 0 значением), то она распечатает текущий файл, в противном случае - «No Files Found»
Asegúrese de tener el paquete ghostscript
instalado:
sudo apt-get install ghostscript
Necesitará convertir la posdata al PDF; para el comando last
que sería:
man -t last | ps2pdf - last.pdf
Si groff
y gropdf
existen en su sistema Linux, debería poder usar
man -Tpdf man >man.pdf
(nótese la ausencia de un espacio entre -T
ypdf
)
En un sistema Ubuntu, debería ser suficiente instalar el paquete groff
para acceder a gropdf
.
El argumento de opción a -T
se pasa a groff
y groff
usará su opción-T
con el mismo argumento de opción. Por lo tanto, lea el manual groff
sobre -T
para obtener más información.
En los sistemas que usan mandoc
, no es necesario instalar la utilidad groff
para que funcione el comando anterior, ya que la utilidad mandoc
(llamada porman
)convertiría el manual a PDF por sí misma.