echo "savedefault --default=2 --once" | grub --batch
, где 2 означает загрузку третьего пункта меню grub.conf
.
Измените 2 на соответствующий номер пункта меню, который вы хотите загрузить в следующий раз.
Хотя лучшие ответы уже есть (declare $str
), я оставлю здесь некоторые другие варианты.
Сsource
:
source <(echo 'NAME="bla" TYPE="test kkk" SIZE="10"')
Сeval
:
eval 'NAME="bla" TYPE="test kkk" SIZE="10"'
Оба имеют дело с экранированием параметров и пробелами (, напримерSIZE="with a space"
).
Оба параметра подлежат расширению, хотя:SIZE="*"
или SIZE="$(hostname)"
БУДУТ расширены/запущены.
Не уверен, но если вы хотите сохранить значение в других переменных, вы можете сделать, как показано ниже:
echo "NAME="bla" TYPE="test" SIZE="10"" | tr ' ' '\n' | while read line
do
#this will give you the value. save it in any variable you want.
name=$(echo $line | awk -F= '{print $2}')
done
Как только вы получите значение, используйте условие if, чтобы сохранить их в переменной diff в соответствии со значением.