Как пропустить необходимое количество байт в выходном файле с помощью утилиты dd?

Запрашивать имя пути у пользователя в интерактивном режиме редко бывает целесообразно. Это ограничивает возможности использования сценариев для интерактивного использования и вынуждает пользователя вводить (правильно )возможно длинное имя пути, не имея возможности использовать имена переменных, такие как $HOMEили $project_dir(, или любые другие переменные, которые любит пользователь. использовать )и не использовать ~.

Вместо этого возьмите путь к целевому каталогу из командной строки, подтвердите, что это каталог, и клонируйте в него репозитории Git, если они еще не существуют.

#!/bin/sh

destdir=$1

if [ ! -d "$destdir" ]; then
    printf 'No such directory: %s\n' "$destdir" >&2
    exit 1
fi

for repo in toolkit sms boggle cairo
do
    if [ -e "$destdir/$repo" ]; then
        printf 'Name %s already exists for repository %s (skipping)\n' \
            "$destdir/$repo" "$repo" >&2
        continue
    fi

    printf 'Cloning %s\n' "$repo"
    git clone "git@github.com:cca/$repo.git" "$destdir/$repo"
done

Этот сценарий будет использоваться как

./script.sh "$HOME/projects/stuff"

и может запускаться без взаимодействия с пользователем, например, из. Ансибль или Крон.

0
10.12.2020, 20:24
0 ответов

Теги

Похожие вопросы