команда оболочки удара хорошо работает в командной строке, но не в моем .sh сценарии?

Существует несколько опций изменить от значения по умолчанию latin1_swedish настройки

Можно скомпилировать mysql, чтобы иметь набор символов по умолчанию utf8

make WITH_CHARSET=utf8 WITH_COLLATION=utf8_bin

Можно изменить значения по умолчанию в my.cnf файле, или во времени выполнения mysql сервера.

mysqld --character-set-server=utf8 --collation-server=utf8_bin;

Можно также указать characterset при создании баз данных.

CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_bin;

Должны ли Вы или нет, быть Вашим вызовом.

Вот некоторые документы о теме, которая могла бы стоить взглянуть через.

0
задан 17 February 2012 в 06:11
2 ответа

Поскольку вы сказали, что столкнулись с этой проблемой при запуске скрипта через cron, вот несколько идей.

99% проблем, возникающих при запуске скриптов через cron, вызваны $ PATH . Путь, используемый cron, очень минимален. Вы указываете полный путь к сценарию инициализации, поэтому я не ожидал, что это будет проблемой. Ваш скрипт не делает ничего другого?

Кроме того, в вашем скрипте, если вы используете bash, вы можете изменить первую строку (shebang) и добавить вторую строку следующим образом

#!/bin/bash -x
exec &>/tmp/script.log

Это включит отладку, когда cron запускает сценарий. Он также будет записывать весь вывод сценария в /tmp/script.log. Как только вы решите проблему, вы можете вернуть это обратно.

2
ответ дан 4 December 2019 в 14:32

Почему вы пытаетесь присвоить это переменной?

Только

/usr/local/etc/rc.d/tomcat7 start

в сценарии должно помочь. Если вам нужен текстовый вывод этой команды, вы можете перенаправить его в файл с помощью оператора > , и вы можете использовать специальную переменную $? для проверки кода возврата команда.

0
ответ дан 4 December 2019 в 14:32

Теги

Похожие вопросы