我正在MacOS上工作。为什么我可以在控制台中运行命令而不能在Shell中运行它?
命令是:
/usr/local/fsl/bin/fast "test.nii.gz"
/usr/local/fsl/bin/fast
是用于预处理神经图像的软件。官方文档位于FAST docs。
这是我的shell脚本:
#!/bin/sh
/usr/local/fsl/bin/fast "test.nii.gz"
这是终端中的命令:
/usr/local/fsl/bin/fast "test.nii.gz"
它们完全相同。 但是shell脚本会抛出这样的错误:
/Users/weiziyang/study/Final_Project/code/auto-seg.sh: line 2: 9502 Segmentation fault: 11 /usr/local/fsl/bin/fast "test.nii.gz"
我希望它成功运行!
答案 0 :(得分:0)
(从评论中粘贴,原来是正确的猜测) 您的快速二进制文件可能正在使用某些环境变量。常规终端会随您的环境一起运行。控制台可能以root或其他用户身份运行。使用env在每个shell中打印环境并进行比较。