Как прочитать две переменные одной командой чтения и вывести их отдельно?

Вы не говорите что вы хотите вместо этого, но я предполагаю, что вы просто хотите доменное имя. В этом случае:

myorigin = $mydomain  

сделает свою работу.

0
29.09.2019, 08:35
2 ответа

Не знаю, как это можно было сделать одной командой, но можно было прочитать всю строку, а потом разбить ее на нужные переменные:

#!/bin/bash

read -p "Enter something:" line
frsstring=`echo "$line" | cut -f1 -d'='`
secstring=`echo "$line" | cut -f2 -d'='`


echo $frsstring
echo $secstring

Надеюсь, это поможет

0
28.04.2021, 23:28

В bashвы можете использовать переменную массива и изменить специальную переменную )внутреннего разделителя полей IFS (на =, которая обычно содержит пробел, табуляцию и новую строку для разделения слов.

IFS='=' read -a arr -p "Enter something: "
echo "${arr[0]}"
echo "${arr[1]}"

Или вы можете использовать расширение параметра оболочки , чтобы удалить самый длинный суффикс и шаблон префикса из строки:

read -p "Enter something: " str
echo "${str%%=*}" # remove longest suffix pattern `=*`
echo "${str##*=}" # remove longest prefix pattern `*=`
1
28.04.2021, 23:28

Теги

Похожие вопросы