Выполните .sh файл в зависимости от содержания файла

Я хочу создать .sh файл, который должен взглянуть в содержание другого файла, в этом случае postgresql конфигурационный файл.

Есть ли какой-либо способ, которым я могу выполнить команду в .sh файле в зависимости от содержания другого файла?

0
задан 6 July 2015 в 12:24

2 ответа

уверенный можно сделать это в сценарии, Вы можете grep для некоторого уникального ключевого слова от содержания файла, если содержание существует тогда хорошо, еще выходят.

grep -F "$word1" "$filename"

, Если произведенный успех тогда сценарий, выполненный еще не

2
ответ дан 31 July 2019 в 08:58

Создайте новый файл в той же папке yes_or_no

nano yes_or_no

с содержанием ниже

#!/bin/bash
search_for="foo"
grep -q "$search_for" "$1"
if [ $? -eq 0 ]; then
    echo "The file \"$1\" contains \"$search_for\""
    ./give_a_yes
else
    echo "The file \"$1\" doesn't contains \"$search_for\""
fi

Сделайте исполняемый файл сценария

chmod +x yes_or_no

Создайте новый файл в той же папке give_a_yes

nano give_a_yes

с содержанием ниже

#!/bin/bash
echo "\"$0\" executed"

Сделайте исполняемый файл файла:

chmod +x give_a_yes

Создайте некоторые файлы данных:

echo "foo" > foo
echo "bar" > bar

Запустите сценарий

$ ./yes_or_no bar
The file "bar" doesn't contains "foo"

$ ./yes_or_no foo
The file "foo" contains "foo"
"./give_a_yes" executed
0
ответ дан 31 July 2019 в 08:58

Другие вопросы по тегам:

Похожие вопросы: