Когда Вы используете синтаксис < file
это открывает файл как только для чтения, и читает содержание строк в файле в стандарт в (STDIN иначе. дескриптор файла 0). Впоследствии стандарт (STDOUT иначе. дескриптор файла 1) открыт, как считано +, запись (1 <>) и содержание строк выписана таким образом.
Можно читать больше о вводе-выводе +, избивают этот раздел, Главу 20. Перенаправление ввода-вывода, Усовершенствованного Руководства по созданию сценариев Bash.
выборка
[j]<>filename
# Open file "filename" for reading and writing,
#+ and assign file descriptor "j" to it.
# If "filename" does not exist, create it.
# If file descriptor "j" is not specified, default to fd 0, stdin.
#
# An application of this is writing at a specified place in a file.
echo 1234567890 > File # Write string to "File".
exec 3<> File # Open "File" and assign fd 3 to it.
read -n 4 <&3 # Read only 4 characters.
echo -n . >&3 # Write a decimal point there.
exec 3>&- # Close fd 3.
cat File # ==> 1234.67890
# Random access, by golly.
Смотрите на то, как дескрипторы файлов работают в этом названные Вопросы и ответы U&L: Как может тот же fd в различных процессах указывать на тот же файл?. Это покрывает, как тот же файл может быть открыт многократно.
У вас есть /etc/pam.d/su
? В некоторых системах, таких как Debian Squeeze (по крайней мере), обработка конфигурации пределов отключена для SU
.
Например, внутри /etc/pam.d/su
, вы можете увидеть что-то вроде этого:
# Sets up user limits, please uncomment and read /etc/security/limits.conf
# to enable this functionality.
# (Replaces the use of /etc/limits in old login)
# session required pam_limits.so
, если требуется , требуется сеанс PAM_LIMITS.SO
, прокомментирован или отсутствует, растремиться или добавить его и посмотреть, исправляет ли это проблему.