команда setenv удара не найдена

если у Вас есть удар, Вы могли бы использовать:

shopt -s globstar
for f in  **/{daily,weekly}/*; do
  whatever $f
done
10
26.11.2018, 00:28
2 ответа

setenv принадлежит (t)csh, не к bash который является оболочкой по умолчанию в CentOS. Использовать

export CLASSPATH="/path/mysql-connector-java-ver-bin.jar:$CLASSPATH"

вместо этого.

15
27.01.2020, 20:01

Еще лучше, потому что более чисто, использовать префиксную нотацию (без set) для команды, которую вы хотите вызвать:

CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -...

Теперь вызываемый вами процесс java сможет собрать ваши временные переменные окружения CLASSPATH, ANOTHER_VAR и ATHIRD_VAR.

Если вы использовали export, то переменные также будут установлены глобально(?), по крайней мере, в окружении скрипта. И значения переменных, которые уже существовали, будут перезаписаны новыми значениями.

Преимущества префиксной нотации:

  • предыдущие значения переменной должны оставаться неизменными, т.е. в случае, если старые значения понадобятся позже, то нет необходимости сохранять старые значения переменных, которые уже существовали, чтобы восстановить их после вызова
  • нет необходимости снимать ваши временные переменные для очистки после вызова
3
27.01.2020, 20:01

Теги

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