Почему исполнительная опция не перечислена в/proc/mounts?

Вы не можете передать аргументы в alias. Необходимо будет использовать a function, таким образом, Вы были на правильном пути. У Вас просто была опечатка в Вашем использовании function команда. Любой из них сделает, однако:

$ nn () { nedit -noautosave -- "$@" & }

- или -

$ function nn() { nedit -noautosave -- "$@" & }

Если необходимо удалить его, используйте unset команда, т.е. unset -f nn.

Также я использовал бы "$@" вместо $1, на всякий случай то, что Вы хотите открыть серию файлов этим способом.

выборка от bash страница справочника

@      Expands to the positional parameters, starting from one.  When the 
       expansion occurs within double quotes, each parameter expands to a 
       separate word.  That is, "$@" is equivalent  to  "$1" "$2" ...  If 
       the double-quoted expansion occurs within a word, the expansion of 
       the first parameter is joined with the beginning part of the original 
       word, and the expansion of the last parameter is joined with the last
       part of the original word.  When there are no positional parameters,
       "$@" and $@ expand to nothing (i.e., they are removed).

Пример

$ function nn() { nedit -noautosave -- "$@" & }

$ nn ~/.bashrc 
[3] 19830
3
25.08.2014, 15:03
3 ответа

Файлы в /proc генерируются ядром, а не утилитой mount. Ядро опускает опции, которые находятся в настройках ядра по умолчанию. Утилита mount по умолчанию не всегда соответствует настройкам ядра по умолчанию. Вы можете проверить значения по умолчанию для версии ядра в исходном коде, в fs/proc_namespace.c. Например, начиная с версии 3.15, отображается noexec если применимо; в случае no-noexec (т.е. exec) ничего не отображается.

1
27.01.2020, 21:14

man mount имеет хороший список. Но индивидуальная файловая система может определять свои собственные флаги -> для каждой файловой системы есть отдельный список. Но есть общие флаги, и они перечислены на странице руководства по монтированию.

exec - флаг по умолчанию. Список флагов монтирования по умолчанию также находится в man mount (AFAIK в системном вызове ядра sys_mount () такого нет). Но если вы это запретите, вам нужно использовать noexec .

2
27.01.2020, 21:14

Вероятно, причина в том, что exec является противоположностью noexec, и именно noexec указан в списке. Таким образом, если noexec отсутствует, пользователь знает, что exec действует. Это похоже на dev /nodev. Кажется, что исключением является rw, который перечислен, даже если он находится в списке по умолчанию.

Примечание: в то время как страница man mount(8) говорит, что defaults - это фиксированный список опций по умолчанию, страница Википедии fstab говорит, что "Настройки по умолчанию определены для каждой файловой системы на уровне файловой системы"

.
3
27.01.2020, 21:14

Теги

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