перенаправление с использованием параметров скрипта в bash - PullRequest
0 голосов
/ 11 апреля 2020

edit: спасибо. Я думаю, что с синтаксисом сценарий теперь работает нормально.

Мой сценарий принимает 4 параметра:

  1. log_file_name
  2. program_name
  3. input_file_name
  4. output_file_name

Я хочу перенаправить входной файл в программу (в c), а затем перенаправить вывод в файл журнала. затем проверьте различия с нужным заданным выходным файлом (параметр 4). Какой самый элегантный способ сделать это?

Я попробовал следующий код, который не работал -

#!/bin/bash
$2.c < $3 > $1 
var = `diff $1 $4`
if  [[ var=="" ]]
then echo "Out files match"
exit 0
fi
echo "Out files mismatch"
exit 1

У меня есть другой скрипт, который предварительно компилирует файл. c

#!/bin/bash

gcc -Wall -o $2 $2.c &> $1
var=`grep -e warnings -e errors $1`
if [[ $var == "" ]]
then echo "Compile succeeded"
exit 0
fi
echo "Compile failed"
exit 1  

1 Ответ

0 голосов
/ 12 апреля 2020
#!/bin/bash
var=`diff  $1 $4`
if  [[ $var == "" ]];then
    echo "Out files match"
    exit 0
else
    echo "Out files mismatch"
    echo " < : Actual output "
    echo " > : Excepted output "
    diff $1 $4 | grep -v "^---" | grep -v "^[0-9c0-9]"
    exit 1
fi

Try above code to difference between output log and actual output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...