LINUX.ORG.RU

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

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

Замену команд спецсимволами для сокращения кода я удобной не считаю.

???

Если я правильно разобрал «<<<» заменит в стандартном вводе символы "." и «/» пробелами в результате чего получится
read a b c d m << 192 168 0 0 24

Вы неправильно разобрали. И это более чем легко понять, если взять и попробовать выполнить эту вашу read a b c d m << 192 168 0 0 24 и получить ошибку, тогда как IFS='./' read a d c d m <<< 192.168.0.0/24 очевидно работает.

Достаточно точный эквивалент <<< foo есть конструкция

<<EOF
foo
EOF

А почему не сработает, если заменить это удобочитаемым вариантом:
eval `ipcalc --minaddr "$1"`
echo "${MINADDR//\02E/\020}" | read a b c d

Извините, я навскидку вообще не понимаю, что́ вы хотите написать (то есть, как это должно по-вашему работать). И уж тем более не понимаю, почему вы называете этот набор черточек, кавычек и скобочек «удобочитаемым».

А писать echo foo | ... ни при каких обстоятельствах не нужно. И вообще создавать подоболочки там, где без них можно обойтись, есть вредная привычка.

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

Замену команд спецсимволами для сокращения кода я удобной не считаю.

???

Если я правильно разобрал «<<<» заменит в стандартном вводе символы "." и «/» пробелами в результате чего получится
read a b c d m << 192 168 0 0 24

Вы неправильно разобрали. И это более чем легко понять, если взять и попробовать выполнить эту вашу read a b c d m << 192 168 0 0 24 и получить ошибку, тогда как IFS='./' read a d c d m <<< 192.168.0.0/24 очевидно работает.

Достаточно точный эквивалент <<< foo есть конструкция

<<EOF
foo
EOF

А почему не сработает, если заменить это удобочитаемым вариантом:
eval `ipcalc --minaddr "$1"`
echo "${MINADDR//\02E/\020}" | read a b c d

Извините, я навскидку вообще не понимаю, что́ вы хотите написать (то есть, как это должно по-вашему работать). И уж тем более не понимаю, почему вы называете этот набор черточек, кавычек и скобочек «удобочитаемым».

А писать echo foo | ... ни при каких обстоятельствах не нужно.