Вопрос оболочки Bash: ошибка возникает при запуске простого сценария оболочки - PullRequest
2 голосов
/ 24 апреля 2011

test.sh:

#!/bin/bash
echo "helloworld"

Я установил режим файла на 755. Когда я пытаюсь запустить скрипт, набрав «./test.sh», я получаю это:

helloworld
./test.sh: line 2: /root: is a directory

что происходит ???

Ответы [ 4 ]

1 голос
/ 24 апреля 2011

Я бы искал забавный бизнес в обработчиках ошибок / сигналов и / или PROMPT_COMMAND

Итак,

echo $PS1
echo $PROMPT_COMMAND
trap

было бы в порядке.

Другой подходограничить запуск bash (что отключает целый ряд параметров)

#!/bin/bash -r

Хотя последний может разрешить странное поведение, это не объяснит waht произошло

1 голос
/ 24 апреля 2011

Поставь выход и посмотри

#!/bin/bash
echo "helloworld"
exit
0 голосов
/ 16 мая 2019

Я получил эту ошибку, когда случайно поставил ~ в последнюю строку моего скрипта, нацеливаясь на клавишу escape в vim. Поскольку vim использует тильды для заполнения строк вне файла, ошибка была почти невидимой. Удаление строки, содержащей тильду, избавило меня от

/root: Is a directory

ошибка.

0 голосов
/ 24 апреля 2011

Я думаю, что редактировал из Windows / повторно использовал Windows-файл с \r внутри, который вы перемещали, вставляя exit?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...