2014-11-26 3 views
0

У меня есть строка в Баше:избежать, если заявления в Баше

if [ -e /home/somefile.xml ]; then 
mv /home/somefile.xml /home/folder.fi/somefile.xml 
fi 

теперь мой редактор окраска folder.fi «s fi части как код. Как я могу избежать этого и действительно ли он считает, что это код?

+0

Я не понимаю вопроса, но 'if [' опечатка. Вам нужно место. –

+0

Мой редактор показывает, что я заканчиваю оператор if if в середине команды mv. –

+1

Какой редактор это? Помогает ли это, если вы поместите строку в кавычки? Вам также нужны пробелы в '[-e' и' xml] '. –

ответ

2

Неправильное выделение синтаксиса редактора. Это можно игнорировать. fi в имени файла не заканчивается блоком if.

1

Вам нужно пространство до и после этих [

if [ -e /home/somefile.xml ]; then 
mv /home/somefile.xml /home/folder.fi/somefile.xml 
fi 
+0

спасибо, но мой вопрос больше о том, если в середине :) –

+0

там ответ будет редактором изменений или синтаксическим синтаксическим парсером. Помещение цитат вокруг этих путей для исправления редактора не имеет для меня никакого смысла. – DRC

1

The .fi не проблема, баш не интерпретирует точку в середине пути. Вместо этого, вы недостающие места на первой линии

if [ -e /home/somefile.xml ]; then 
    mv /home/somefile.xml /home/folder.fi/somefile.xml 
fi 

Также я Recommand поставить свои пути к файлам в двойные кавычки, например:

mv "/home/somefile.xml" "/home/folder.fi/somefile.xml" 

Редактор должен интерпретировать его правильно с цитатами , даже если ваш первый код верен.

+0

Спасибо, очень новичок в bash! :) –

Смежные вопросы