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

Вы, вероятно, хотите добавить строку как

/dev/sdb1 /media/drive1 vfat dmask=000,fmask=0111,user 0 0

кому: /etc/fstab. Дополнительное ,user в опциях поле позволяет любому пользователю монтировать эту файловую систему, не просто root.

-1
16.12.2018, 14:09
2 ответа

Что случилось с

read -e -p "Enter the path to the file: " -i "${HOME}/apps/" warpToLocation

?

0
28.01.2020, 05:13
  • 1
    так FILEPATH является переменной. я думал, что это был стандарт.. спасибо укомплектовывает, извините, в его мой первый раз опускаясь в удар, я боюсь, я уничтожаю свой os –  TheLegend 24.05.2013, 17:51
  • 2
    недопустимое чтение опции: использование: читайте [-ers] [-u fd] [-t тайм-аут] [-p подсказка] [-a массив] [-n nchars] [-d delim] [имя...] деформирующийся в инструментарии, SMS, пугале и Каире –  TheLegend 24.05.2013, 17:53
  • 3
    я понятия не имею, что Вы ввели в своей программе, но я вполне уверен, который команду я сказал Вам, работает в ударе. Если Вы вводите что-то еще и получаете сообщения об ошибках, довольно бессмысленно скопировать только сообщение об ошибке и надеяться, что другие могут восстановить Вашу проблему от этого. Уведомление –  Uwe 24.05.2013, 18:05
  • 4
    , который был бы результатом, который удар дал мне, когда я попробовал read -e -p "Enter the path to the file: " -i "${HOME}/apps/" warpToLocation –  TheLegend 24.05.2013, 18:26
  • 5
    Ваш read не имеет a -i опция? Вы действительно используете удар? Какая версия? bash --version –  Uwe 24.05.2013, 18:30

Запрашивать имя пути у пользователя в интерактивном режиме редко бывает целесообразно. Это ограничивает возможности использования сценариев для интерактивного использования и вынуждает пользователя вводить (правильно )возможно длинное имя пути, не имея возможности использовать имена переменных, такие как $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
28.01.2020, 05:13

Теги

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