2017-01-23 11 views
0

Я пишу bash script, который является следующимПространства между линиями в shellscript взятый в качестве команды

#!/bin/bash 

#getting the environment variable from commandline 
environment=$1 

echo $environment 

Теперь, когда я запустить скрипт с bash ./bashScript.sh Hello, я получаю следующие ошибки на линии

: команда не найдена строка 2

: команда не найдена строка 5

Я вижу, что обе эти линии являются пространство и Баш скрипт, таким образом, дает мне ошибку

Для того, чтобы решить эту проблему я пишу сценарий как

#!/bin/bash 
# 
#getting the environment variable from commandline 
environment=$1 
# 
echo $environment 

Но она выглядит такой грязный

Есть ли другой способ достичь этого. Благодарим за помощь заранее.

+0

ли вы скопировать его откуда-то? Похоже, что у вас могут быть какие-то кратковременные окончания строк или что-то в этом роде – arco444

+0

@ arco444 Нет, я написал это сам. Пространство между строками связано с нажатием клавиши «enter» на клавиатуре –

+0

Я согласен с @ arco444, я пробую ваш первый фрагмент кода, и он отлично работает для меня. – acornagl

ответ

1

Ваш комментарий добавляет точность, что ваши линии используют конец строк DOS (\r\n), когда вы сбрасываете его с помощью od -xc file. Чтобы избежать этого, вы должны убедиться, что ваш редактор использует конец строк Unix (\n).

Чтобы исправить это на существующий текстовый файл, вы можете использовать tr:

tr -d '\r' <dos_file> unix_file 
+0

Спасибо за помощь :) Очень ценю это –