В нем говорится, что атрибуты, отличные от -a
и -A
, не будут иметь никакого эффекта во время первого назначения.
Пример с атрибутом верхнего регистра:
$ declare -a -u array=( hello )
$ printf '%s\n' "${array[@]}"
hello
$ array+=( world )
$ printf '%s\n' "${array[@]}"
hello
WORLD
Как говорит Джефф, это функция , реализованная Bash , а не ядром. Он доступен только для сценариев оболочки или в командной строке оболочки; другие программы не открываются /dev/tcp/...
.
Чтобы реализовать это как модуль ядра, вам нужно будет предоставить новую виртуальную файловую систему.
Чтобы увидеть это в действии, вы можете комбинировать Bash с netcat. Беги
nc -l -p 5555
в одном терминале, затем
echo Hello > /dev/tcp/localhost/5555
в другом; вы увидите «Hello» в запущенном терминале nc
.