У меня есть программа, которая может принять, как аргумент, файл, полный команд и выполнять их:
$ <program> <filename>
Это - то, что у меня есть работа до сих пор:
$ cat <filename>
<command>
$ <program> <filename>
<output indicating the command has been executed correctly>
Однако я только должен выполнить одну команду в этом неинтерактивном режиме и не хочу дополнительный файл, сидящий без дела только с одной командой в нем. Я попытался передать вывод по каналу эха:
$ <program> | echo "<command>"
но это только дает вывод:
<command>
Я выяснил то, что было неправильным; мой канал был назад. Я должен был сделать:
$ echo "<command>" | <program>
<output indicating the command has been executed correctly>
Примечание к сам: каналы текут слева направо.
Что-то как этот могло бы работать...
консоль check.sh
#!/bin/bash
if [ $? = 0 ] ; then
echo "Ok"
else
echo "Error"
fi
In:
# command | check.sh
Пример:
# ls | ./check.sh
Ok