Форум сообщества Runtu.org
Сентябрь 21, 2018, 08:57:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Новости: Доступна для загрузки х64 версия дистрибутива Runtu LITE 18.04.1 - 20180801

Подробнее
   Начало   Помощь Поиск Войти Регистрация  
Страниц: « 1 2 3 4 »  Все   Вниз
  Печать  
Автор Тема: Caja - файловый менеджер на основе Nautilus'а  (Прочитано 34919 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Пользователь.
Редактор раздела
*****
Offline Offline

Сообщений: 3316


« Ответ #30 : Февраль 27, 2017, 15:01:57 »

Как я понимаю нужно смотреть в каком виде принимает пути к файлам chmod, и в каком виде выдает ему Caja.

Может быть  просто chmod не понимает что ему подсовывают, например хочет перечисление в строку, а ему дают перечисление в столбец.

И sudo не хватает.
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #31 : Февраль 27, 2017, 15:29:19 »

а зачем sudo для работы с файлами из домашней папки? В терминале же все нормально без sudo.

Пробовал вместо chmod подсовывать редактор текста и тот нормально открывает файл, значит caja подставляет правильную ссылку.
Пробовал и со всеми другими переменными (их там всего 6).
Пробелов в пути нет. Пробовал с файлом и с путем без кирилицы.
Остальные скрипты (загнал в ФМ штук 6) работают нормально с той же самой переменной.
« Последнее редактирование: Февраль 27, 2017, 15:48:33 от ek-nfn » Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #32 : Февраль 27, 2017, 15:35:58 »

    Вероятно, chmod не понимает URI. Попробуйте использовать CAJA_SCRIPT_SELECTED_FILE_PATHS
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #33 : Февраль 27, 2017, 15:41:53 »

    Вероятно, chmod не понимает URI. Попробуйте использовать CAJA_SCRIPT_SELECTED_FILE_PATHS
я перепробовал со всеми 6-ю переменными.
Как посмотреть, в каком виде ссылка подсовывается команде? 
Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #34 : Февраль 27, 2017, 15:59:52 »

Код:
#!/bin/sh
echo -e "$CAJA_SCRIPT_SELECTED_URIS" > uri_test.txt
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #35 : Февраль 27, 2017, 16:16:40 »

В файл записало такой путь, путь к файлу правильный.
Цитировать
-e file:///home/nfn/test

для такого варианта
Цитировать
#!/bin/sh
echo $CAJA_SCRIPT_SELECTED_URIS > uri_test.txt
записало
Цитировать
file:///home/nfn/test
« Последнее редактирование: Февраль 27, 2017, 16:20:46 от ek-nfn » Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #36 : Февраль 27, 2017, 16:26:17 »

    Это с использованием CAJA_SCRIPT_SELECTED_URIS?
Если подставить  CAJA_SCRIPT_SELECTED_FILE_PATHS, что запишется в файл?
И подставьте в начало скрипта #!/bin/bash, чтобы ключ -e правильно интерпретировался.
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #37 : Февраль 27, 2017, 16:38:19 »

Объединил в один скрипт:
Цитировать
#!/bin/bash
echo -e "$CAJA_SCRIPT_SELECTED_URIS" > uri_test.txt
echo -e "$CAJA_SCRIPT_SELECTED_FILE_PATHS" >> uri_test.txt
echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" >> uri_test.txt
Вывод в uri_test.txt:
Цитировать
file:///home/nfn/test
/home/nfn/test
/home/nfn/test

Но с переменной $CAJA_SCRIPT_SELECTED_FILE_PATHS все равно не работает.
« Последнее редактирование: Февраль 27, 2017, 16:45:24 от ek-nfn » Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #38 : Февраль 27, 2017, 16:44:00 »

    Попробуйте такой скрипт
Код:
#!/bin/bash

IFS=$'\n'

for line in $CAJA_SCRIPT_SELECTED_FILE_PATHS
do
  if [ -f "$line" ]; then
    chmod +x "$line"
  fi
done

unset IFS

exit 0

Должно работать с кириллическими и пробельными символами, плюс мультивыбор.
« Последнее редактирование: Февраль 27, 2017, 17:34:58 от FSnow » Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #39 : Февраль 27, 2017, 16:53:33 »

не работает даже на латинице с таким путем - /home/nfn/test
Пробовал обе переменные.

В терминале все работает
Спойлер  скрыт:
В ФМ через "свойства файла" тоже работает.
« Последнее редактирование: Февраль 27, 2017, 17:06:01 от ek-nfn » Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #40 : Февраль 27, 2017, 17:13:38 »

    Поправил скрипт, попробуйте еще раз.
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #41 : Февраль 27, 2017, 17:25:45 »

Вот сейчас заработал. С кириллицей тоже. С пробелами не работает
Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #42 : Февраль 27, 2017, 17:37:09 »

    Поправил снова. Надеюсь, окончательный вариант.
Записан
ek-nfn
Местный
*****
Offline Offline

Сообщений: 1161


« Ответ #43 : Февраль 27, 2017, 17:59:44 »

ДА...  Смеющийся  Этот заработал и с пробелами. Большое спасибо!

Странная фишка, ведь идет просто подмена одной переменной на другую и все меняется, хотя вывод содержимого обеих переменных одинаков (если верить echo).
Без цикла это выглядит так и тоже работает, но лишь при наличии оконцовки exit 0 (имена без пробелов).
Цитировать
#!/bin/bash
line=$CAJA_SCRIPT_SELECTED_FILE_PATHS
chmod +x $line
exit 0

А такой вариант уже не работает, хотя логически все тоже самое
Цитировать
#!/bin/bash
chmod +x $CAJA_SCRIPT_SELECTED_FILE_PATHS
exit 0
« Последнее редактирование: Февраль 27, 2017, 18:03:29 от ek-nfn » Записан
FSnow
Global Moderator
*****
Offline Offline

Сообщений: 679



« Ответ #44 : Февраль 27, 2017, 18:03:16 »

    Цикл перебирает имена файлов, если их выбрано несколько.
Записан
Страниц: « 1 2 3 4 »  Все   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Valid XHTML 1.0! Valid CSS!