1

У меня есть два файла сценария оболочки test1.sh и test2.sh . У меня есть другой файл с именем translogs.txt .
Теперь мне нужно скопировать значения двух переменных в test1.sh в translog.txt, и те же переменные должны быть скопированы в соответствующие значения в test2.sh .

test1.sh

#!/bin/sh
ONE="000012"
TIME="2013-02-19 15:31:06"
echo -e "$ONE\n$TIME">translog.txt;

translog.txt

ONE="000012"
TIME="2013-02-19 15:31:06"

Но здесь, в test2.sh, я хочу получить то же значение, что и в translog.txt, для соответствующей переменной, например ONE и TIME, должно иметь то же значение, что и в translog.txt.

test2.sh

#!/bin/sh
ONE="000012"
TIME="2013-02-19 15:31:06"

1 ответ1

1

Если вы хотите, чтобы содержимое translog.txt действительно выглядело в вашем примере, и вы не возражаете переключиться с dash на bash, вы можете использовать source (см. Команды Shell Builtin в man bash), чтобы просто выполнить содержимое translog.txt в текущей оболочке.

test1.sh:

#!/bin/bash
ONE="000012"
TIME="2013-02-19 15:31:06"
echo -e "ONE=\"$ONE\"\nTIME=\"$TIME\"">translog.txt;

test2.sh

#!/bin/bash
source translog.txt
echo "ONE:  $ONE"
echo "TIME: $TIME"

Тестовое задание

$ ./test1.sh
$ cat translog.txt 
ONE="000012"
TIME="2013-02-19 15:31:06"
$ ./test2.sh
ONE:  000012
TIME: 2013-02-19 15:31:06

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .