正如您所看到的,由于某种原因,该source
命令表示未找到该文件,即使该文件显然位于目录中。我cat
还显示了输出的第一位:它显示了#!/bin/bash -p
我认为该命令正确的第一行source
?
freesurfer 安装指南 (https://surfer.nmr.mgh.harvard.edu/fswiki/DownloadAndInstall) 告诉你运行这两行
export FREESURFER_HOME=/usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
我也尝试过这个,但我得到了同样的未找到错误。我确定目录是正确的。
抱歉,如果这是一个愚蠢的问题,我是一个巨大的初学者。任何帮助表示赞赏!
答案1
shell 抱怨的是source
命令,而不是你的文件。
你的shell好像是/bin/sh
,可能是dash
shell。当dash
运行为 时sh
,它是一个 POSIX shell,因此没有source
命令。该source
命令是标准的扩展,通常与标准.
(点)命令相同或相似。
因此,如果您想在/bin/sh
shell 中获取这些文件,请使用以下.
命令:
. "$FREESURFER_HOME/SetUpFreeSurfer.sh"
bash
或者,将您的 shell 更改为实现该命令的 shell,例如source
。
另请注意,该#!
行在这些类型的“点脚本”中是无关紧要的,因为脚本是由当前 shell 读取的,而不是由外部解释器读取的。