LINUX.ORG.RU

Ошибка синтаксиса


0

1
for file in \
 $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
  cp -uv $file{,.orig}
  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
      -e 's@/usr@/tools@g' $file.orig > $file
  echo '
#undef STANDARD_STARTFILE_PREFIX_1
#undef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
  touch $file.orig
done

Требуется выполнить это, но на вводе

root@vlad-laptop:/mnt/lfs/sources# for file in \
> $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4) \
> do \
> cp -uv $file{,.orig} \
> sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
> -e 's@/usr@/tools@g' $file.orig > $file \
bash: syntax error near unexpected token `>'
Как исправить эту ошибку ?

$ for i in a b \
> do \
> echo $i > /tmp/xxx \
bash: syntax error near unexpected token `>'

$ for i in a b ; \
> do \
> echo $i > /tmp/xxx ; \
> done

$
io ★★ ()

Копать в эту сторону:

for file in \
 $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
  cp -uv $file{,.orig}
  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
      -e 's@/usr@/tools@g' $file.orig > $file
  cat >> $file << EOF
#undef STANDARD_STARTFILE_PREFIX_1
#undef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""
EOF
  touch $file.orig
done

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.