Как создать основной скрипт bash, который позволяет пользователям вводить, какую из двух функций они хотят запустить?

вам, вероятно, следует указать -o информацию до информации об адресе, т.е.mount -t cifs -o username=<USER>,password=<PASS> //<share-address>/<share-name> /mnt/mount-point

Что касается того, почему он выдает ошибку -, это может быть связано с вашим именем пользователя, похоже, вы указываете домен с пользователем, так вы монтируете общий ресурс в Windows, но не то же самое в Unix., это должно быть просто имя пользователя, если вы хотите указать домен, добавьте его в конец команды, например, так `имя пользователя=пользователь,пароль=пароль,домен=example.com

Итак, в вашем случае попробуйте использовать :mount -t cifs -o username=Administrator,password=zen,domain=Provisorio,noserverino //10.20.30.1/zmg /mnt/zmg

Другая причина появления ошибки 13 связана с правами доступа к папке, поэтому убедитесь, что у вас есть правильные права доступа к папке Windows. для тестирования я бы сказал, сначала откройте разрешения, чтобы исключить это как возможную причину!

Чтобы сделать это решение постоянным, то есть сделать его постоянным после перезагрузки, добавьте эту строку в конец файла /etc/fstab(вам потребуются разрешения sudo для редактирования этого файла!)
//10.20.30.1/zmg /mnt/zmg cifs username=Administrator,password=zen,domain=Provisorio,noserverino 0 0

-1
09.09.2020, 19:08
1 ответ

Вам также нужно вызвать функцию mainи передать ей аргументы командной строки скрипта:

#!/bin/sh

upload() {
    echo "upload called with arg $1"
}
download() {
    echo "download called with arg $1"
}

main() {
    case "$1" in
        -d) download "$2";;
        -u) upload "$2";;
        *) echo "Either -d or -u needs to be selected"; exit 1;;
    esac
}

main "$@"

Нет необходимости в объявлениях стиля ksh -function fooздесь, используйте вместо этого foo(), так как он является стандартным и более широко поддерживается.

6
18.03.2021, 23:06

Теги

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