2013-09-25 4 views
0

Я использую октаву для создания и выполнения скрипта. Файл сценария создается успешно, но он выполняется правильно ТОЛЬКО, когда я его запускаю из оболочки.Сценарий Bash из октавы

например. если я создаю файл сценарий, содержащий эту строку

for L in {1..5}; do > ${L}.txt; done  

назвав его из оболочки он создает 5 файлов , но назвав его из октавы (с использованием системы (»./ myscript.sh„) или Unix (“./ MyScript .sh ");) он создает только один файл с именем" {1..5} .txt "

Моя фактическая цель - не создавать пустые файлы, это было просто примером. В моем скрипте я использую для циклов, которые не могут быть выполнены из октавы.

+0

Я думаю, это потому, что октава не допускает выражения скобки? – fedorqui

ответ

1

Попробуйте «ps -f», чтобы увидеть оболочку. Ваш «myscript.sh» выполняется под.

Попробуйте добавить строгий/принудительный спецификатор оболочки в первой строке, чтобы сообщить ему, чтобы он работал под управлением bash.

E.g.

#!/bin/bash 
ps -f 
for L in {1..5}; do > ${L}.txt; done 
+0

Это была ошибка ... идиот. Я просто забыл поставить #!/Bin/bash в начале файла. Он работает сейчас. Спасибо Владу и @fedorqui – user2815201

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