LINUX.ORG.RU

Тире в . (source)

 , ,


0

1

Как source’нуть файл, где переменными является: слово1-слово2="что-то", просто так source не воспринимает -.

$ . ~/.gtkrc-2.0        
/home/q/.gtkrc-2.0:4: command not found: include
/home/q/.gtkrc-2.0:5: command not found: gtk-theme-name=Adapta


Последнее исправление: madreyk (всего исправлений: 2)

переименовать всё на слово1_слово2="что-то"

А за такое

.

Язабан. Не делай так больше никогда.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

переименовать всё на слово1_слово2="что-то"

Нельзя, такие штуки сами генерируют переменные с тире

Язабан. Не делай так больше никогда.

Извини, исправил.

madreyk
() автор топика
Ответ на: комментарий от madreyk

В смысле? Ты что хочешь в shell скрипте сделать source ~/.gtkrc-2.0 и дальше получить значение Adapta из переменной gtk-theme-name ? Неее, дядя это так не работает ))))))

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Siborgium

Конечно я гуглил, но это не универсальный вариант. Например - Mate

madreyk
() автор топика
Ответ на: комментарий от madreyk

Потому что ты пытаешься интерпретировать как шелл скрипт то, что им не является.

Я бы попытал счастья разбирать как .ini, сходств с ним значительно больше. А самый правильный вариант – расковырять gsettings (или что там читает эти файлы) и выдрать парсер оттуда.

Siborgium ★★★★★
()
Ответ на: комментарий от madreyk
  • 1 Эмм, ладно =)
  • 2 Потому что формат не тот

Либо транслируй в sh совместимое,а потом хоть source делай. Либо используй gsettings get для получения нужных значений как советовали выше в своём shell скрипте

dron@gnu:~$ THEME_NAME=`gsettings get org.gnome.desktop.interface gtk-theme`
dron@gnu:~$ echo $THEME_NAME
'Arc-Dark'
dron@gnu:~$ 
  • 3 У разных программ могут быть разные форматы файлов в которых они хранят информацию, например есть HTML и просто текст. Для первого есть браузер, для второго текстовый редактор. sh это ещё и язык у которого есть свои правила, пример из реальной жизни молоток + гвоздь = работает, отвёртка + саморез работает || саморез + молоток = не работает, отвёртка + гвоздь = не работает.

Вот на https://www.opennet.ru/docs/RUS/bash_scripting_guide/ читай на здоровье.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от madreyk

Так в этом-то и дело, больше его по нормальному никак не прочитать.

На любом высокоуровневом ЯП такие конструкции парсятся на раз-два. А ты похоже пытаешься писать на шелле какую-то логику с разбором данных из внешних файлов - не надо так делать, шелл не для того создан

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.