.profile: строка 31: синтаксическая ошибка: неожиданный конец файла

Я плохо разбираюсь в программировании Bash. Где ошибка? Вот мой файл.profile:

# WARNING: For help understanding this file, and before you try
# to change any of it, type "man .profile" and read carefully.
#

#
# Set command search rules
#
if [ -x /bin/showpath ] ; then  
    export PATH; PATH=`/bin/showpath $HOME/bin /u/cs350/sys161/bin /software/gnu/bin standard`
    export PATH; PATH=`/bin/showpath usedby=user standard $HOME/bin`
#
# Find out what kind of terminal we are using
#
    eval `setterm  sytek:kd404  default:vc404`
#
# Set terminal-type dependent options (e.g. sysline or prompt string)
#
    #HOMEHOST="<hostname>"
    #HOMEUSER="<userid>"
    #export HOMEHOST HOMEUSER
    PS1="$ "
#
# Now do the usual signing on things
#
    export MAIL; MAIL=${MAIL-"/usr/spool/mail/$USER"}

if [ -r /software/.admin/bins/bin/read_system_news ] ; then /software/.admin/bins/bin/read_system_news ; fi

EOF

2 ответа

Ты первый if отсутствует fi,

Вам не хватает fi в конце файла добавьте его.

Также избавиться от EOF, EOF в вашем случае это рассматривается как команда.

Иногда запуск вашего скрипта с использованием разных оболочек дает подсказку об ошибке.

Когда мы запускаем вашу программу, используя:

  • sh это говорит Syntax error: end of file unexpected (expecting "fi")
  • csh это говорит if: Expression Syntax.
Другие вопросы по тегам