Я быстро искал это перед публикацией, но не нашел похожих сообщений. Дайте мне знать, если они существуют.Команды работают из сценария Shell, но не из командной строки?
Выполняемые команды кажутся очень простыми. Список каталогов используется как вход для функции.
Каталог содержит кучу файлов с именем
командной строки версии (Баш работает, когда это выполняется) "epi1_mcf_0 ### nii.gz.":
fslmerge -t output_file `ls epi1_mcf_0*.nii.gz`
Shell версии сценария :
#!/bin/bash
fslmerge -t output_file `ls epi1_mcf_0*.nii.gz`
Ошибка командной строки, но сценарий оболочки работает отлично.
Сообщение об ошибке специфично для функции, но оно включено в любом случае.
** ERROR (nifti_image_read): failed to find header file for 'epi1_mcf_0000.nii.gz'
** ERROR: nifti_image_open(epi1_mcf_0000.nii.gz): bad header info
Error: failed to open file epi1_mcf_0000.nii.gz
Cannot open volume epi1_mcf_0000.nii.gz for reading!
Я был очень разочарован, с этой проблемой (в меньшей степени, после того, как я понял, что есть способ, чтобы получить команду на работу).
Любая помощь будет оценена по достоинству.
(Или это общее мнение о том, что проблема следует искать в функции «fslmerge»?)
Есть ли у вас какие-либо псевдонимы оболочки?(Введите «псевдоним»). Это повлияет на команды, введенные в командной строке, но не на скрипты. –
Это решило проблему ... 'ls' был определен как 'ls -color'. Мне любопытно - почему это имеет значение? является ли исходный вывод ls другим при использовании цветовой версии? (Спасибо!) –
Цвета генерируются с помощью эвакуационных кодов, дополнительных последовательностей символов, которые интерпретируются терминальной программой, но которые вы обычно не хотите передавать другим программам. –