2013-03-06 6 views
0

Я новичок в сценариях оболочки Unix и не могу понять, почему это не работает, поскольку отдельные команды выполняются в командной строке. Извиняюсь, если это очевидно.Файл Unix Shell не работает должным образом

Я пытаюсь создать сценарий с некоторыми командами Unix и называть его с помощью sh script.sh в Putty. Вот пример:

echo Carrying out compression 
gzip -c file_1.csv > file_1.csv.gz 
gzip -c file_2.csv > file_2.csv.gz 
gzip -c file_3.csv > file_3.csv.gz 

Вместо того чтобы производить указанный именованный вывод, я получаю очень странные именованные файлы, например. FTY4WG ~ 7. Это за исключением последнего, который назван правильно.

Если я ставлю пробел после каждой строки, он работает, но я получаю сообщение об ошибке: : Нет такого файла или каталога

На самом деле я пытаюсь сделать целую кучу вещей (сшивая томов CSV, как а также сжатие их), но если я могу взломать эту простую команду, я, вероятно, смогу все исправить.

Благодарим за помощь!

Бен

+4

Убедитесь, что ваш сценарий не использует окончания строки DOS. – chepner

ответ

1

убедитесь, что эта строка в верхней части сценария

#!/bin/bash 

Теперь выполнить эту команду

dos2unix <yourfilename> 

Теперь это сделать

chmod u+x <urfilename> 

мая это будет d о.

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