fuse
группа предназначается для указания, кто может смонтировать файловые системы FUSE. Намерение не состоит в том, что любой в той группе может размонтировать файловые системы, смонтированные другими. Только пользователь, делающий монтирование или корень, может размонтировать файловую систему.
Можно использовать sudo для авторизации пользователей в fuse
группа для выполнения команды размонтирования как того же пользователя, который сделал монтирование. Выполненный visudo
добавить строку как:
%fuse ALL = (fuse) fusermount -u /media/Android
Почему Вы не делающий монтирование как сами? Это - обычный способ использовать FUSE.
] Вы неправильно интерпретируете man-страницу. Во-первых, часть о []--[
] сигнализации конца опций не имеет отношения к тому, что вы пытаетесь сделать. С этого момента []-c[
] переопределяет оставшуюся часть командной строки, так что она больше не будет проходить через обработку опций bash, что означает, что []--[
] будет передано команде, а не обработано bash как маркер конца опций.[
]Вторая ошибка заключается в том, что дополнительные аргументы присваиваются в качестве параметров позиционирования запущенному процессу оболочки, а не передаются в качестве аргументов команде. Таким образом, то, что вы пытаетесь сделать, может быть сделано как одно из:[
] [/bin/bash -c 'echo "$0" "$1"' foo bar
/bin/bash -c 'echo "$@"' bash foo bar
]
[]В первом случае, передача параметров []$0[
] и []$1[
] явно, а во втором случае, использование [] "$@"[
] для расширения как обычно, как "все позиционные параметры, кроме $0". Обратите внимание, что в этом случае мы должны передать что-то для использования в качестве []$0[
]; я выбрал "bash", так как это то, что []$0[
] было бы нормально, но все остальное сработало бы.[
]Что касается причины, по которой это делается таким образом, вместо того, чтобы просто передавать любые аргументы, которые вы даете непосредственно команде, которую вы перечисляете: обратите внимание, что в документации сказано, что "команда[]s[] считывается со строки", множественное число. Другими словами, эта схема позволяет делать:[
] [/bin/bash -c 'mkdir "$1"; cd "$1"; touch "$2"' bash dir file
]
[]Но обратите внимание, что лучшим способом достижения первоначальной цели может быть использование []env[
], а не []bash[
]:[
/usr/bin/env -- "ls" "-l"
]
[]Если вам не нужна ни одна из возможностей, предоставляемых оболочкой, то нет причин использовать ее - использование []env[
] в этом случае будет более быстрым, простым и менее печатающим. И вам не нужно так сильно думать, чтобы быть уверенным в том, что он будет безопасно обрабатывать имена файлов, содержащих метасимволы оболочки или пробельные символы.[
Я не уверен, в чем заключается ваша цель, но если вы просто пытаетесь построить машину Rube Goldberg - "штуковину, изобретение, устройство или аппарат, который преднамеренно перепроектирован или переделан для выполнения очень простой задачи очень сложным способом" - тогда попробуйте
sh -c 'ls $0' -l
или
sh -c 'ls $1' supercalifragilisticexpialidocious -l
или даже
sh -c 'ls -$0' l
Вы должны быть в состоянии понять, как это работает, из ответа Godlygeek.