Пример 12-5. copydir, копирование файлов из текущего каталога в другое место, с помощью xargs

Пример 12-5. copydir, копирование файлов из текущего каталога в другое место, с помощью xargs

#!/bin/bash

# Копирует все файлы из текущего каталога

# в каталог, указанный в командной строке.

if [ -z "$1" ] # Выход, если каталог назначения не задан.

then

echo "Порядок использования: `basename $0` directory-to-copy-to"

exit 65

fi

ls . | xargs -i -t cp ./{} $1

# Этот сценария является точным эквивалентом

# cp * $1

# если в именах файлов не содержатся пробельные символы.

exit 0

expr

Универсальный обработчик выражений: вычисляет заданное выражение (аргументы должны отделяться пробелами). Выражения могут быть арифметическими, логическими или строковыми.

expr 3 + 5

возвратит 8

expr 5 % 3

возвратит 2

expr 5 * 3

возвратит 15

В арифметических выражениях, оператор умножения обязательно должен экранироваться обратным слэшем.

y=`expr $y + 1`

Операция инкремента переменной, то же самое, что и let y=y+1, или y=$(($y+1)). Пример подстановки арифметических выражений.

z=`expr substr $string $position $length`

Извлекает подстроку длиной $length символов, начиная с позиции $position.