LINUX.ORG.RU

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

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

Слишком уродливо мой код на нем выглядит.

Потому что у вас удивительный комплекс: вы придумали алгоритм и бросились искать как его сделать максимально большим числом извращений.

1. Строку «a b» надо парсить как read a b, а не read -a dim, второе — это когда много строк с неизвестным количеством слов.

2. head после grep... А вы man на grep пробовали читать? Есть там ключик -m 1 , что заменит head -1

3. Если уж любите башизм «<<<», то и printf тогда уж и заменяйте им: nc $host $port <<< «$1»$'\n' , но в вашем случае можно обойтись here-document

4. Работу со строками нагляднее, проще и быстрее делать именно как работу со строками: port=${addr##*:}; [[ $port == $addr ]] && port=43 || addr=${addr%:$port}

И так далее.

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

Слишком уродливо мой код на нем выглядит.

Потому что у вас удивительный комплекс: вы придумали алгоритм и бросились искать как его сделать максимально большим числом извращений.

1. Строку «a b» надо парсить как read a b, а не read -a dim, второе — это когда много строк с неизвестным количеством слов.

2. head после grep... А вы man на grep пробовали читать? Есть там ключик -m 1 , что заменит head -1

3. Если уж любите башизм «<<<», то и printf тогда уж и заменяйте им: nc $host $port <<< «$1»$'\n'

4. Работу со строками нагляднее, проще и быстрее делать именно как работу со строками: port=${addr##*:}; [[ $port == $addr ]] && port=43 || addr=${addr%:$port}

И так далее.

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

Слишком уродливо мой код на нем выглядит.

Потому что у вас удивительный комплекс: вы придумали алгоритм и бросились искать как его сделать максимально большим числом извращений.

1. Строку «a b» надо парсить как read a b, а не read -a dim, второе — это когда много строк с неизвестным количеством слов.

2. head после grep... А вы man на grep пробовали читать? Есть там ключик -m 1 , что заменит head -1

3. Если уж любите башизм «<<<», то и printf тогда уж и заменяйте им: nc $host $port <<< «$1»$'\n'

4. Работу со строками нагляднее, проще и быстрее делать именно как работу со строками: port=${addr##*:} [[ $port == $addr ]] && port=43 || addr=${addr%:$port}

И так далее.

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

Слишком уродливо мой код на нем выглядит.

Потому что у вас удисительный комплекс: вы придумали алгоритм и бросились искать как его сделать максимально большим числом извращений.

1. Строку «a b» надо парсить как read a b, а не read -a dim, второе — это когда много строк с неизвестным количеством слов.

2. head после grep... А вы man на grep пробовали читать? Есть там ключик -m 1 , что заменит head -1

3. Если уж любите башизм «<<<», то и printf тогда уж и заменяйте им: nc $host $port <<< «$1»$'\n'

4. Работу со строками нагляднее, проще и быстрее делать именно как работу со строками: port=${addr##*:} [[ $port == $addr ]] && port=43 || addr=${addr%:$port}

И так далее.