LinuxForum.Fans
Тема

Не могу обратиться к скрипту по полному пути

Автор: 5artizan 6 сообщений 1251 просмотров
03.02.2017 10:35 · отредактировано #419821

Всем привет.Написал скрипт,который добавляет запись в конец файла по переданному ему параметру:

text

echo $1 >> list.log

Захожу в директорию,где лежит скрипт.Запускаю его:
[console]
sh1.sh [параметр]
[/console]
Скрипт запускается нормально.Перехожу в системную корневую директорию и запускаю скрипт по полному пути:
[console]
/folder/folder/sh1.sh [параметр]
[/console]
Скрипт не работает.Комп выдает сообщение:
[console]
/utm/sh1.sh: line 1: list.log: Отказано в доступе
[/console]
На директорию,где хранится скрипт, и на все файлы поставлены права 777.В чем может быть проблема?

03.02.2017 10:53 #419823

5artizan, а если запускать так
[console]./folder/folder/sh1.sh[/console]
или
[console]sh /folder/folder/sh1.sh [/console]
ну и надо чтобы было
[console]chmod +x ./folder/folder/sh1.sh[/console]

03.02.2017 11:01 · отредактировано #419824
baralgin написал:
5artizan, а если запускать так
[console]./folder/folder/sh1.sh[/console]
или
[console]sh /folder/folder/sh1.sh [/console]
ну и надо чтобы было
[console]chmod +x ./folder/folder/sh1.sh[/console]

Попробовал первый вариант-тот же результат.Второй вариант не подходит,потому что нужно,чтобы другая программа обращалась к скрипту без sh.Насчет chmod стоит самое максимальное разрешение.

03.02.2017 11:24 #419825

У Вас в скрипте как прописано
#! /bin/bash или #! /bin/sh?

Не знаю как в Федоре, но в Дебиане/ Убунте /bin/bash != /bin/sh

[console]ls -l /bin/sh lrwxrwxrwx 1 root root 4 янв 24 08:16 /bin/sh -> dash[/console]

От этого иногда могут быть и непонятки.

03.02.2017 11:27 · отредактировано #419826

Все.Нашел решение.Проблема в том,что скрипт пытается записать файл в корневую директорию.Так как я переместился в нее. :)

03.02.2017 11:44 #419827

Собственно это было очевидно из сообщения об ошибке :)
К стати, вопрос не дистрибутивоспецифичный.

Войдите или зарегистрируйтесь, чтобы ответить.