当我在shell脚本中运行但在终端控制台中成功运行时抛出错误

时间:2019-07-19 23:47:09

标签: linux bash macos shell

我正在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"

我希望它成功运行!

1 个答案:

答案 0 :(得分:0)

(从评论中粘贴,原来是正确的猜测) 您的快速二进制文件可能正在使用某些环境变量。常规终端会随您的环境一起运行。控制台可能以root或其他用户身份运行。使用env在每个shell中打印环境并进行比较。