Ошибка, о которой вы описали, не похожа на что-то, что создавала оболочка, но единственным инструментом, который появляется на load, является файл wlalink
. Если вы пройдете через строки сценария, набрав каждый из них в командной строке, появится ли такая же ошибка? Если да, то какая строка?
В этом случае у вас есть ряд проблем с качеством, которые вы должны исправить, результатом чего может быть проще отладить или предсказать.
- Использовать shebang. На вашем компьютере есть несколько интерпретаторов интерпретаторов, и при написании сценария лучше всего указать тот, который вы хотите интерпретировать для своего сценария. Добавьте строку, как
#!/bin/sh
, в качестве самой первой строки сценария.
- Укажите свои переменные и любые специальные символы. Квадратные скобки, например, используются как часть «pattern matching». Если вы хотите убедиться, что ваша строка будет взята буквально, используйте литеральные (одиночные) кавычки, то есть
echo '[objects]' > temp.prj
- Тест на успех. Если какой-либо шаг в вашем скрипте завершился неудачно, скрипт будет продолжать работать до конца, даже несмотря на то, что они гарантированно потерпят неудачу. Добавьте
set -e
в верхней части скрипта для простой версии этого.
- Не используйте глупые разрешения.
chmod 777
означает, что файл может быть прочитан, записан и исполнен миром. Это не исполняемый файл. И это, безусловно, не обязательно должно быть доступно для всего мира. Подумайте о том, что вам нужно, и установите разрешения для файлов не более.
После очистки и, особенно, с помощью некоторой базовой обработки ошибок отладка, без сомнения, будет проще.
#!/bin/sh
if [ -z "$1" ]; then
echo "ERROR: I need an option." >&2
exit 1
fi
# Debugging
set -e # stop on error
set -x # display our commands
echo "[objects]" > temp.prj
echo "$1.obj" >> temp.prj
chmod 640 temp.prj
wla-65816 -o "$1.asm" "$1.obj"
wlalink -vr temp.prj "$1.fig"
rm -f "$1.obj" temp.prj
Что такое * * разрешения на файл temp.prj? –
777, я меняю их в строке 3 –
Вот что вы пытались установить. Ничего не говорится об этом. Но поскольку ghoti говорит, что это очень плохое разрешение на использование в основном, и проблема почти наверняка не на этом уровне. –