Bash-скрипт для заполнения шаблона

Проверьте этот проект: foriana

Foriana (Судебное Изображение Поршня Анализатор)

вход: дамп (физической) RAM произвел: различная информация

Версия 1.0 может перечислить процессы и модули из памяти дамп ядер i386/x86_64/arm linux/bsd, и предоставить возможность для чтения линейной памяти от дампов.

Существует модуль ядра fmem:

Fmem является драйвером ядра, который создает/dev/fmem устройство./dev/fmem ведут себя тем же способом, которым/dev/mem (прямой доступ к физической памяти), но не имеет пределов, которые имеют/dev/mem. Возможно вывести целую физическую память через/dev/fmem.

Я имею, используют его, компилируют довольно легкий.

5
16.10.2015, 20:30
4 ответа

Я подозреваю, что вы ищете что-то довольно простое, например файл my_script , который содержит:

cat <<XXX
dn: uid=$1,ou=home,dc=chan,dc=com

objectClass: organizationalPerson

objectClass: person

objectClass: inetOrgPerson

objectClass: top

cn: $2

sn: $3

userid: $1

userPassword:
XXX

Чтобы использовать вышеперечисленное, просто запустите :

sh my_script fred 100 200

который будет выводиться на стандартный вывод (и может быть перенаправлен в файл).

11
27.01.2020, 20:32

Нужен ли файл шаблона?

#!/bin/bash

echo "dn: uid=$1,ou=home,dc=chan,dc=com" > $4
echo "objectClass: organizationalPerson" >> $4
echo "objectClass: person" >> $4
echo "objectClass: inetOrgPerson" >> $4 
echo "objectClass: top" >> $4
echo "cn: $2" >> $4
echo "sn: $3" >> $4
echo "userid: $1" >> $4
echo "userPassword:" >> $4

Вы бы запустили . /SCRIPTNAME Value1 Value2 Value3 OutputFileName

иначе

Ваш скрипт будет:

#!/bin/bash

var1=$1
var2=$2
var3=$3
file=$4

cat TemplateFile > $file

sed -i "s/1/$var1/g" $file
sed -i "s/2/$var2/g" $file
sed -i "s/3/$var3/g" $file

и ваш файл шаблона будет

dn: uid=1,ou=home,dc=chan,dc=com 
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: 2
sn: 3
userid: 1
userPassword: 
3
27.01.2020, 20:32

Я решил аналогичную проблему с

элегантное и короткое решение в одной строке сperl

Используйте perlдля замены переменных их значениями:

export world=World beautiful=wonderful
echo 'I love you, $world! You are $beautiful.' >my_template.txt
perl -pe 's|\$([A-Za-z_]+)|$ENV{$1}|g' my_template.txt

Выход:I love you, World! You are wonderful.

my_template.txtможет содержать переменные с префиксом $.

1
27.01.2020, 20:32

Использование команды evalтакже может помочь нам, как обсуждалось здесь

source $config_file
template_str=`cat "$template_file"`
eval "echo \"$template_str\" "
1
27.01.2020, 20:32

Теги

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