Заполните таблицу базы данных временной меткой, используя SQLPLUS внутри сценария оболочки - PullRequest
1 голос
/ 06 мая 2011

Я хочу вставить последнюю измененную временную метку файла в базу данных в сценарии оболочки.Мой скрипт выглядит следующим образом:

#!/usr/bin/ksh
date=date -r /raid/file/test.txt +%d" "%b" "%Y" "% r | awk '{print $1,$2,$3,$4,$5;}'
echo ${date}
sqlplus USR/USR@PRODAR.AD.MANTO <<ENDOFSQL
INSERT INTO PROD_TABLE VALUES('$date');
exit
ENDOFSQL

Мне интересно, как назначить дату последнего изменения файла для переменной оболочки и использовать ее в sqlplus.Note, который ищет дату в формате 05 May 2011 08:02:27 PM$date в данный момент показывает ноль и вставляется в таблицу.Буду признателен за любые рекомендации примерно столько же.

1 Ответ

3 голосов
/ 06 мая 2011

Если вы хотите получить вывод date|awk в вашей переменной date, вам нужно захватить его:

date=$(date -r /raid/file/test.txt +%d" "%b" "%Y" "% r | awk '{print $1,$2,$3,$4,$5;}')

Просто так должно быть, но прошло много времени с тех пор, как яиспользовал ksh.Вам не нужно обращаться к переменной date в sqlplus, вам просто нужно получить доступ к ней в строке в вашем скрипте.

...