Использовать /proc/partitions
$ cat /proc/partitions
major minor #blocks name win-mounts
8 0 175825944 sda
8 1 175824896 sda1 C:\
8 16 1953514582 sdb
8 17 1953512448 sdb1 E:\
Эта функция была добавленаhttps://cygwin.com/cygwin-ug-net/ov-new.html#ov-new1.7.33
Использование функции оболочки:
backup_and_edit () {
cp -i "$1" "$HOME/BACKUP" &&
exiv2 BLABLABLA "$1"
}
Это будет происходить там, где вы обычно размещаете псевдонимы и функции оболочки (, вероятно, в вашем ~/.bashrc
файле ), и после создания экземпляра функции (путем запуска нового сеанса оболочки )вы должны использовать это как
$ backup_and_edit./some/file.jpg
При таком вызове функция будет выполняться
cp -i./some/file.jpg "$HOME/BACKUP" &&
exiv2 BLABLABLA./some/file.jpg
Параметр -i
для cp
заставит утилиту запрашивать подтверждение перед -записью файла с тем же именем в каталог резервных копий. Если копирование завершится ошибкой, команда exiv2
не будет запущена.
Вы можете создать псевдоним, использующий функцию:
alias Aalias='_(){ local file=${@: -1};(($#<2))||[[ ! -e "${file}" ]]&&echo "Usage: Aalias <options> <file>"&&return 1;cp "${file}" ~/BACKUP/${file};exiv2 $@;}; _'
${@: -1} grabs the last argument for the file
[[ ! -e "${file}" ]] checks to make sure the file exists
Использование будет показано, если указано менее 2 аргументов или файл не существует.
Если последним аргументом является имя существующего файла, он будет скопирован в каталог BACKUP в доме пользователя, а exiv2 будет запущен с параметрами, заданными в командной строке.