ошибка компиляции файла linux .cshrc

#linux #bash #csh

#linux #bash #csh

Вопрос:

в файле .cshrc под Linux у меня есть

 set path=(/usr/local/gams/24.2.2 $path )  #GAMS DIRECTORY (SOCL)
set path=(/usr/local/bin $path)
set path=(/usr/local/cplex/v12.4/cplex/bin/x86-64_sles10_4.1 $path)
  

и когда я запускаю команду source .cshrc, я получаю эту ошибку

 -bash: .cshrc: line 1: syntax error near unexpected token `('
-bash: .cshrc: line 1: `set path=(/usr/local/gams/24.2.2 $path )  #GAMS DIRECTORY'
  

есть помощь?

Я новичок в Linux, поэтому, если я допустил очевидную ошибку, задавая этот вопрос, извините за это

большое спасибо

Комментарии:

1. Не используйте csh : csh, который считается вредным

Ответ №1:

Похоже, что вы использовали bash , а не csh семейные оболочки. Когда вы запускали command source .cshrc , она использовала bash способ обработки .cshrc ; .cshrc это просто входной файл, независимо от его имени, поэтому вам нужно либо запустить csh оболочки семейства, либо использовать bash синтаксис для инструкций в .cshrc. (Я бы не стал предлагать более поздний способ, поскольку это может сбить с толку.) Если вы хотите придерживаться bash , вам следует сделать это в .bash_profile или .bashrc .

Ответ №2:

.cshrc предназначено для C-shell, а не для оболочки bash. bash использует .bashrc .

Я не знаю о c-shell, но в оболочке bash вы бы установили PATH переменную следующим образом:

 PATH="/usr/local/gams/24.2.2:/usr/local/bin:/usr/local/cplex/v12.4/cplex/bin/x86-64_sles10_4.1:$path"
  

echo $PATH Сначала попробуйте посмотреть, есть ли в нем какой-либо из этих путей (особенно /usr/local/bin ).