LINUX.ORG.RU
ФорумAdmin

BASH: запуск команды из переменной


0

0

Хочу заставить работать такой скрипт:

#!/bin/bash
DEBUG=yes
function run_cmd {
if [ "$DEBUG" = "yes" ]; then
echo "$1"
fi
$1
}

run_cmd "echo hello world"
run_cmd "echo hello world | wc"

Первый вызов run_cmd проходит успешно, а вот второй печатает строку
hello world | wc
А хочется, разумеется, чтобы он слова подсчитвал. Как это исправить?


Разобрался. Все будет работать, если в фукнции run_cmd использовать
команду source:

function run_cmd 
{
	if [ "$DEBUG" = "yes" ]; then
		echo "$1"
	fi
	echo "$1" > /tmp/command
	source /tmp/command
}

fivepm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.