SETENV: Bad: модификатор в $ ($) - PullRequest
6 голосов
/ 07 марта 2011

Я использую терминал tcsh в Linux.В другом терминале, который я обычно использовал, я установил путь к некоторому файлу лицензии следующим образом:

  export PATH="$PATH:$MODEL_TECH"

Оболочка Tcsh не распознает эту команду, поэтому я попробовал следующее:

  setenv PATH "$PATH:$MODEL_TECH"
  set PATH "$PATH:$MODEL_TECH"
  setenv PATH=("$PATH:$MODEL_TECH")

Нотогда я всегда получаю следующую ошибку:

Плохо: модификатор в $ ($).

Что было бы замечательно, если бы кто-то мог помочь мне здесь быстро, попробовал довольнонесколько комбинаций, но ничего не работает.

Ответы [ 5 ]

5 голосов
/ 07 марта 2011

Положите фигурные скобки вокруг имен переменных:

setenv PATH ${PATH}:${foo}

или используйте эту форму:

set path = ($path $foo)
5 голосов
/ 07 марта 2011

Удалите =

setenv LICENSE_FILE "/usr/local/softwarex/license.dat"

со страницы руководства по tcsh:

   setenv [name [value]]

   Without  arguments, prints the names and values of all environ‐
   ment variables.  Given name, sets the environment variable name
   to value or, without value, to the null string.
2 голосов
/ 07 марта 2011

Попробуйте setenv LICENSE_FILE /usr/local/softwarex/license.dat.Это должно быть задокументировано на странице man где-то в вашей системе, поэтому попробуйте прочитать в man tcsh;tcsh очень отличается от bash и друзей.Если соответствующая страница man по какой-то причине недоступна в вашей системе, вот первая найденная мной man tcsh.

0 голосов
/ 30 апреля 2015

Если это не работает, используйте это:

setenv PATH ${PATH}:/.../../../
0 голосов
/ 14 мая 2014

В оболочке tcsh можно добавить путь или любую переменную среды, как показано ниже:

setenv PATH $PATH":$NEWPATH"
...