@famousman204

Как запустить набор команд из переменной в bash скрипте?

Добрый вечер! Есть не большой скрипт который должен проверять вывод двух программ(стандартного шелла и мой шелл): вот скрипт
#!/bin/bash
a=0

function test {
	./minishell -c "$cmd" > dest
	($cmd) > src
	echo "Test: " "$cmd"
	diff dest src >> diff
	if [ "$?" -eq "$a" ]
	then
		echo -e "\033[37;20;42m  OK \033[0m"
	else
		echo -e "\033[37;40;41m  KO \033[0m"
	fi

}

rm -f diff
cmd='echo 12'
test
cmd='echo 12 | cat -e'
test

Вывод такой:
Test: echo 12
OK
Test: echo 12 | cat -e
KO
Вывод моей программы:
12$
Вывод баша:
12 | cat -e

Как скормить башу переменную так, чтобы он ее прочел как разные команды, а не как аргументы к echo?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@famousman204 Автор вопроса
Нашел такой вариант:
заменить ($cmd) > src на echo "$cmd" | bash > src
и всё заработало как надо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы