У меня есть здесь командный файл в Windows, я хочу применить то же самое к Linux. Могу ли я попросить вашей помощи запустить его в Linux. Ниже приведен пакетный файл для Windows:
@echo off
TITLE Upload Masterlist
set /p answer=Do you want continue? [Y/N]:
if %answer%==Y goto G
if %answer%==y goto G
if %answer%==N goto EndoF
if %answer%==n goto EndoF
:EndoF
goto:eof
:G
cls
set MYSQL_HOME=mysql>C:\xampp\mysql\bin\mysql.exe
set database_name=ppn
set user_name=root
set password=
set sql_file=C:\LEGAL_BACKUP\Masterlist.sql
%MYSQL_HOME% -u %user_name% -p %password% -D %database_name% < %sql_file%
echo.
echo. Uploading Masterlist is successfully done..............!
echo.&pause&goto:eof
Заранее спасибо,
Jet
Похоже, ваш командный файл предназначен для резервного копирования базы данных MySQL на локальном компьютере. Хотя возможно преобразовать команды .bat в эквивалентные команды bash, имена исполняемых файлов, каталогов и т. Д. Будут разными.
Вместо этого вы можете попробовать MySQL-Maint , дружественный для Linux bash-скрипт с открытым исходным кодом, предназначенный для выполнения именно того, что вы делаете.
Попробуйте это:
#!/bin/bash
read -p "Do you want to continue? " -n 1
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
exit 1
fi
MYSQL_BIN=/usr/bin/mysql
DB_NAME=ppn
DB_USER=root
DB_PASS=pass
SQL_FILE=/home/user/sqlfile.sql
$MYSQL_BIN -u$DB_USER -p$DB_PASS $DB_NAME < $SQL_FILE
echo "Uploading Masterlist is successfully done..............!"
unset MYSQL_BIN
unset DB_NAME
unset DB_USER
unset DB_PASS
unset SQL_FILE