Erreur à l'ouverture du terminal

Meve -  
mamiemando Messages postés 33171 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Mon post est potentiellement dans la mauvaise catégorie, je m'en excuse si c'est le cas.

Quand j'ouvre mon terminal (Gnome 3.36.2), il y a un message d'erreur que j'aimerais comprendre:

-------- freesurfer-linux-centos8_x86_64-7.2.0-20210720-aa8f76b --------
Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME /usr/local/freesurfer
FSFAST_HOME /usr/local/freesurfer/fsfast
FSF_OUTPUT_FORMAT nii.gz
SUBJECTS_DIR /usr/local/freesurfer/subjects
MNI_DIR /usr/local/freesurfer/mni
FSL_DIR /usr/share/fsl/5.0
bash: fg: no job control
bash: /home/expe/.bashrc: line 27: syntax error near unexpected token `('
bash: /home/expe/.bashrc: line 27: `spm_path = getenv('SPM_PATH');'


Les lignes du .bashrc auxquelles me renvoient le message d'erreur me semblent pourtant correctes en termes de syntaxe :

%-SPM12-
spm_path = getenv('SPM_PATH');
if spm_path,
addpath(spm_path);


Une idée de ce qui pourrait poser problème ici ?

1 réponse

  1. mamiemando Messages postés 33171 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour

    Ceci :
    %-SPM12-
    spm_path = getenv('SPM_PATH');
    if spm_path,
    addpath(spm_path);

    ... n'est pas conforme à la syntaxe du langage bash, donc ça ne me choque pas que bash ne comprenne pas ce que tu veux faire.
    • Pour récupérer le contenu de la variable on utilise l'opérateur
      $
      , par exemple
      $SPM_PATH
      .
    • Les appels de fonctions ne comportent pas de parenthèse en shell.
    • Un
      if
      ne s'écrit pas comme ça (voir par exemple ce cours).
    • La fonction
      addpath
      n'existe pas il faudrait la définir et en pratique c'est inutile. Par exemple pour ajouter
      /home/bin
      à la variable
      PATH
      (qui liste des chemins séparés par
      :
      ) on écrirait
      PATH="$PATH:/home/bin"
      .


    Bonne chance
    1