Потому что тире
не понимает этот вид башизма:
<(free -m)
Вместо этого используйте:
free -m | awk '/^Mem/ {print $4}'
В bash есть два списка опций. Один для shopt
и один для set
.
Чтобы вывести конкретную опцию (не изменяя ее) для shopt, используйте shopt -p name
:
$ shopt -p xpg_echo
shopt -u xpg_echo
А для set
используйте: shopt -po name
(да, вы можете использовать shopt -op
для set
list).
$ shopt -po xtrace
set +o xtrace
Чтобы перечислить все опции из shopt, используйте shopt
(или многоразовый shopt -p
).
Также можно использовать shopt -s
или shopt -u
.
Перечислить все опции для set
можно с помощью set -o
(связано: set +o
).
Или: shopt -o
эквивалентен set -o
, а shopt -op
- set +o
.
Из LESS=+/'^ *shopt \[' man bash
:
При отсутствии опций или с опцией -p выводится список всех настраиваемых опций, Если используется опция -s или -u без аргументов optname, отображение ограничивается теми опциями, которые установлены или не установлены, соответственно.
Из LESS=+/'^ *set \[' man bash
:
Если -o поставляется без имени опции, выводятся значения текущих опций. Если +o подается без имени опции, на стандартный вывод выводится серия команд set для воссоздания текущих настроек опций.
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
И
$ shopt -sp
shopt -s checkwinsize
shopt -s cmdhist
shopt -s expand_aliases
shopt -s extglob
shopt -s extquote
shopt -s force_fignore
shopt -s histappend
shopt -s histverify
shopt -s interactive_comments
shopt -s progcomp
shopt -s promptvars
shopt -s sourcepath
Стоит упомянуть о shopt -op
, который фактически перечисляет set
опции:
$ shopt -op
set +o allexport
set -o braceexpand
set -o emacs
set +o errexit
set +o errtrace
set +o functrace
set -o hashall
set -o histexpand
set -o history
set +o ignoreeof
set -o interactive-comments
set +o keyword
set -o monitor
set +o noclobber
set +o noexec
set +o noglob
set +o nolog
set +o notify
set +o nounset
set +o onecmd
set +o physical
set +o pipefail
set +o posix
set +o privileged
set +o verbose
set +o vi
set +o xtrace
Используйте что-то вроде
if shopt -qo posix ; then
Чтобы отключить параметр, используйте
set +o posix
См. man bash
, набор справки
] и помогите сделать покупки в
для получения дополнительных сведений.