Я хочу создать .sh файл, который должен взглянуть в содержание другого файла, в этом случае postgresql конфигурационный файл.
Есть ли какой-либо способ, которым я могу выполнить команду в .sh файле в зависимости от содержания другого файла?
уверенный можно сделать это в сценарии, Вы можете grep для некоторого уникального ключевого слова от содержания файла, если содержание существует тогда хорошо, еще выходят.
grep -F "$word1" "$filename"
, Если произведенный успех тогда сценарий, выполненный еще не
Создайте новый файл в той же папке 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