Искусство программирования на языке сценариев командной оболочки




Программирование на языке сценариев командной оболочки - стр. 303


then fname=$filename # Удалить путь из имени файла. n=`echo $fname | sed -e "s/ /_/g"` # Заменить пробелы символом подчеркивания. mv "$fname" "$n" # Переименование. let "number += 1" fi done

if [ "$number" -eq "$ONE" ] then echo "$number файл переименован." else echo "Переименовано файлов: $number" fi

exit 0

Пример A-5. encryptedpw: Передача файла на ftp-сервер, с использованием пароля

#!/bin/bash

# Модификация примера "ex72.sh", добавлено шифрование пароля.

# Обратите внимание: этот вариант все еще нельзя считать безопасным, #+ поскольку в сеть пароль уходит в незашифрованном виде. # Используйте "ssh", если вас это беспокоит.

E_BADARGS=65

if [ -z "$1" ] then echo "Порядок использования: `basename $0` имя_файла" exit $E_BADARGS fi

Username=bozo # Измените на свой. pword=/home/bozo/secret/password_encrypted.file # Файл, содержащий пароль в зашифрованном виде.

Filename=`basename $1` # Удалить путь из имени файла

Server="XXX" Directory="YYY" # Подставьте фактические имя сервера и каталога.

Password=`cruft <$pword` # Расшифровка. # Используется авторская программа "cruft", #+ основанная на алгоритме "onetime pad", #+ ее можно скачать с : #+ Primary-site: ftp://ibiblio.org/pub/Linux/utils/file #+ cruft-0.2.tar.gz [16k]

ftp -n $Server <<End-Of-Session user $Username $Password binary bell cd $Directory put $Filename bye End-Of-Session # ключ -n, команды "ftp", запрещает автоматический вход. # "bell" -- звонок (звуковой сигнал) после передачи каждого файла.

exit 0

Пример A-6. copy-cd: Копирование компакт-дисков с данными

#!/bin/bash # copy-cd.sh: copying a data CD

CDROM=/dev/cdrom # устройство CD ROM OF=/home/bozo/projects/cdimage.iso # промежуточный файл # /xxxx/xxxxxxx/ измените для своей системы. BLOCKSIZE=2048 SPEED=2 # Можно задать более высокую скорость, если поддерживается.




Содержание  Назад  Вперед