mirror of
https://github.com/MariaDB/server.git
synced 2025-11-10 23:02:54 +03:00
Make the "system" command become executed in a bash shell in cygwin.
This commit is contained in:
@@ -1367,7 +1367,9 @@ int do_modify_var(struct st_query *query, const char *name,
|
||||
|
||||
NOTE
|
||||
If mysqltest is executed from cygwin shell, the command will be
|
||||
executed in cygwin shell. Thus commands like "rm" etc can be used.
|
||||
executed in the "windows command interpreter" cmd.exe and we prepend "sh"
|
||||
to make it be executed by cygwins "bash". Thus commands like "rm",
|
||||
"mkdir" as well as shellscripts can executed by "system" in Windows.
|
||||
*/
|
||||
|
||||
int do_system(struct st_query *command)
|
||||
@@ -1379,9 +1381,18 @@ int do_system(struct st_query *command)
|
||||
|
||||
init_dynamic_string(&ds_cmd, 0, strlen(command->first_argument) + 64, 256);
|
||||
|
||||
#ifdef __WIN__
|
||||
/* Execute the command in "bash", ie. sh -c "<command>" */
|
||||
dynstr_append(&ds_cmd, "sh -c \"");
|
||||
#endif
|
||||
|
||||
/* Eval the system command, thus replacing all environment variables */
|
||||
do_eval(&ds_cmd, command->first_argument, TRUE);
|
||||
|
||||
#ifdef __WIN__
|
||||
dynstr_append(&ds_cmd, "\"");
|
||||
#endif
|
||||
|
||||
DBUG_PRINT("info", ("running system command '%s' as '%s'",
|
||||
command->first_argument, ds_cmd.str));
|
||||
if (system(ds_cmd.str))
|
||||
|
||||
@@ -830,8 +830,8 @@ DROP TABLE t1, t2;
|
||||
# Bugs #9136, #12917: problems with --defaults-extra-file option
|
||||
#
|
||||
|
||||
--system echo "[mysqltest1]" > $MYSQLTEST_VARDIR/tmp/tmp.cnf
|
||||
--system echo "port=1234" >> $MYSQLTEST_VARDIR/tmp/tmp.cnf
|
||||
--system echo '[mysqltest1]' > $MYSQLTEST_VARDIR/tmp/tmp.cnf
|
||||
--system echo 'port=1234' >> $MYSQLTEST_VARDIR/tmp/tmp.cnf
|
||||
--exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1
|
||||
--exec $MYSQL_MY_PRINT_DEFAULTS -e $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1 mysqltest1
|
||||
--system rm $MYSQLTEST_VARDIR/tmp/tmp.cnf
|
||||
|
||||
Reference in New Issue
Block a user