LINUX.ORG.RU

Как в bash склеить две переменные в имени файла?


0

0

Как в bash склеить две переменные в имени файла?

Есть код:

#!/bin/bash

database=$1
login=$2
pass=$3
sitedir=$4

todaydate=`date +%d-%m-%y`
cur_file_db=$database.db.$todaydate

mysqldump -u $login -p$pass $database > /$cur_file_db.sql
Получаемое имя файла выглядит так: mysite.db.26-03-10.sql, а нужно такие имя (символы подчеркивания вместо точек): mysite_db_26-03-10.sql

Так вот, если в строке cur_file_db=$database.db.$todaydate я заменяю точки на подчеркивания, первая часть файла обрезается (переменные не склеиваются).

Подскажите, как получить имя файла с символами подчеркивания вместо точек и склеить переменные (mysite_db_26-03-10.sql) ?


AnZr> $database.db.$todaydate
${database}_db_${todaydate }

sdio ★★★★★
()

cur_file_db=$database\_db_$todaydate

arsi ★★★★★
()
Ответ на: комментарий от name_no

по разному можно извращаться, надо только понять что '_' — вполне легальный символ в имени переменной, что TC сам продемонстрировал

cur_file_db=$database.db.$todaydate

только потом сразу об этом забыл

cur_file_db=$database_db_$todaydate

(ну не определена ещё переменная «$database_db_» :)

pupok ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.