Escribí esas direcciones IP y nombres de host nuevamente en el archivo de hosts y ahora funciona. Debe tener alguna codificación de caracteres que estaba mal. ¡No sé cómo porque todos fueron copiados y pegados desde la terminal!
Если разделителем является один пробел, используйте удаление префикса и суффикса .
before_the_first_space="${Var1%% *}"
after_the_first_space="${Var1# *}"
before_the_last_space="${Var1%* }"
after_the_last_space="${Var1##* }"
В качестве альтернативы можно воспользоваться разбиением на слова при подстановке переменных без кавычек. Это обрабатывает каждую последовательность пробелов как разделитель и помещает результат в массив.set -f
отключает расширение подстановочных знаков , set +f
снова включает его.
set -f
parts=($Var1)
set +f
echo "${parts[0]}"
В качестве альтернативы можно использовать встроенную функциюread
, чтобы разбить переменную на массив. read
считывается из стандартного ввода, поэтому используйте здесь строку , чтобы передать содержимое переменной в качестве ввода.
read -r -a parts <<<"$Var1"
Метод подстановки -без кавычек и метод read
разделяются на основе значенияIFS
.