LINUX.ORG.RU

История изменений

Исправление kaldeon, (текущая версия) :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который читал бы только одну строку и возвращал eof, если её нет.

разрешить пробелы вокруг присваивания;

Решено в rc.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который читал бы только одну строку и возвращал ошибку, если её нет.

разрешить пробелы вокруг присваивания;

Решено в rc.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено в rc.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

разрешить пробелы вокруг присваивания;

Решено в rc.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено в rc.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать только $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного “$(cmd)” с отдельными неожиданными правилами использовать $(cmd) для всего и один общий механизм IFS, чтобы либо получить всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного исключения использовать общий механизм IFS и получить либо всё (включая перевод на новую строку), либо чистые строки без переводов.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного исключения использовать общий механизм IFS и получить либо всё (включая перевод на новую строку), либо чистые строки.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval), что позволяет вместо отдельного исключения использовать общий механизм IFS.

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что “$(cmd)”, который избегает IFS, нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval). Предотвращение разделения строк делается сменой локального ifs (ifs = '' echo `{cmd} или, то же самое упрощённо, echo `''{cmd}).

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исправление kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что предотвращающий разделение строк “$(cmd)” нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval). Предотвращение разделения строк делается сменой локального ifs (ifs = '' echo `{cmd} или, то же самое упрощённо, echo `''{cmd}).

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).

Исходная версия kaldeon, :

не обрезать и не сжимать пробельные символы в конце строки;

Согласен. Решено в рамках цитируемого мной отрывка. Эта проблема вызвана тем, что предотвращающий разделение строк “$(cmd)” нужно как-то обрезать, ведь cmd зачастую пишет перевод строки в конце. В rc это решено тем, что $(cmd) всегда безопасен (не сделает pathname expansion и, в целом, не будет себя вести как скрытый eval). Предотвращение разделения строк делается сменой локального ifs (ifs = '' echo `{cmd} или echo `''{cmd}).

не убирать пустые строки в массивах;

В массивах же допустимы пустые строки. Речь, наверное, идёт о встроенной функции read? Ужасная вещь. А главное проблема-то решается элементарно: созданием аналога /bin/cat, который писал бы в stdout не произвольными пачками, а каждую линию отдельно.

разрешить пробелы вокруг присваивания;

Решено.

динамическое связывание хуже статического.

Но делает возможным простые решения, которые были бы нереализуемы в статическом связывании или требовали бы усложнения модели (в том числе для программиста).