В правом меню xfce имеется команда, открывающая файл fb2 программой fbless на указанном % содержания файла.
xfce4-terminal -H -x sh -c "fbless %f -g $(/home/minter/Tools/scripts/modules/fbless-proc.sh && cat /tmp/proc.txt); exec bash"
Ввод % числом указывается через fbless-proc.sh и записывается в файл /tmp/proc.txt , из которого потом и считывается как значение "цифра" (fbless %f -g цифра). Содержание fbless-proc.sh:
zenity --width=100 --title "Где открыть" --entry --text "Ввести значение цифрой:" > /tmp/proc.txt
Можно ли результат ввода fbless-proc.sh записать в оперативную память и далее считать его как значение, не записывая его в промежуточный файл на диске /tmp/proc.txt ? Существует ли менее громоздкое решение?
Занести введенную цифру в память и далее считать это значение
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 2020
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 30
- Откуда: BY
- Благодарил (а): 79 раз
- Поблагодарили: 434 раза
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Решение
Перейти к ответу ➙
В рамках bash - нет (во всяком случае - достаточно надежного). Но можно использовать файл на tmpfs - т.е. в на виртуальном диске, практически в памяти. В современных системах как минимум /run обычно является уже примонтированным используя tmpfs, а часто и /tmp - частично или полностью.
Для использования /run без прав root - нужно писать в каталог создаваемый для активного пользователя. Это будет
Где UID - номер пользователя в системе, у первого созданного он обычно 1000 и т.д. Там в этом каталоге и так всегда есть времянки от всякого разного софта (пульса/pipewire как минимум), он гарантированно есть когда пользователь зашел в систему.
Для использования /run без прав root - нужно писать в каталог создаваемый для активного пользователя. Это будет
/run/user/<UID>
Где UID - номер пользователя в системе, у первого созданного он обычно 1000 и т.д. Там в этом каталоге и так всегда есть времянки от всякого разного софта (пульса/pipewire как минимум), он гарантированно есть когда пользователь зашел в систему.
Перейти к ответу ➙
-
- Сообщения: 4511
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 99
- Благодарил (а): 51 раз
- Поблагодарили: 1995 раз
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
В рамках bash - нет (во всяком случае - достаточно надежного). Но можно использовать файл на tmpfs - т.е. в на виртуальном диске, практически в памяти. В современных системах как минимум /run обычно является уже примонтированным используя tmpfs, а часто и /tmp - частично или полностью.
Для использования /run без прав root - нужно писать в каталог создаваемый для активного пользователя. Это будет
Где UID - номер пользователя в системе, у первого созданного он обычно 1000 и т.д. Там в этом каталоге и так всегда есть времянки от всякого разного софта (пульса/pipewire как минимум), он гарантированно есть когда пользователь зашел в систему.
Для использования /run без прав root - нужно писать в каталог создаваемый для активного пользователя. Это будет
/run/user/<UID>
Где UID - номер пользователя в системе, у первого созданного он обычно 1000 и т.д. Там в этом каталоге и так всегда есть времянки от всякого разного софта (пульса/pipewire как минимум), он гарантированно есть когда пользователь зашел в систему.
-
- Сообщения: 2757
- Зарегистрирован: 19 дек 2017, 18:48
- Решено: 15
- Откуда: Рига
- Благодарил (а): 163 раза
- Поблагодарили: 305 раз
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Что-то я не особо понял что именно подразумивается под
Обычное хранение в переменной этого не подразумивает разве?
В bash нету типов переменных, если ты хотел int на выходе получить.
Сделай еще один файл, в котором будет проверяться переданное значение из /tmp/proc....
-
- Сообщения: 4511
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 99
- Благодарил (а): 51 раз
- Поблагодарили: 1995 раз
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Я так понял, ему надо чтобы доступ к значению был из двух разных скриптов (один пишет, другой читает). В этом случае переменная bash разумеется не подходит - она же за пределами скрипта очищается.
-
Автор темы - Сообщения: 2020
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 30
- Откуда: BY
- Благодарил (а): 79 раз
- Поблагодарили: 434 раза
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Уточняю вопрос, если оказалось, что сформулировал его неоднозначно. Хотелось бы избежать записи вводимого через zenity значения в файл на диске, помещая его в оперативную память и потом считывая его. Хотя сильно и не принципиально, думал, что имеется возможность, поскольку сам в программировании ни бум-бум и в состоянии использовать только какие-то заготовки или заимствованные куски команд на уровне "если то", "и", "или". Вопрос количества скриптов не принципиален, если имеется возможность реализовать это одним, то очень хорошо.
Общий смысл: запустить через ПКМ Thunar в терминале команду
fbless %f -g n
Вот n и является значением "цифра", которая вводится. Причём значение "цифра" каждый раз будет разным (по мере чтения книги, то есть при новом вызове команды, или открывая другие файлы fb2). Не знал как обеспечить её ввод, поэтому и сделал топорно через zenity с записью в файл на диске другим скриптом.-
Автор темы - Сообщения: 2020
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 30
- Откуда: BY
- Благодарил (а): 79 раз
- Поблагодарили: 434 раза
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Насколько я понял из ответа slant, если результат ввода записать так
Будет верным предположение, что мой файл /run/user/1000/proc не записан физически на диск, а "болтается в уме"? Или я ошибаюсь?
zenity --width=100 --title "Где открыть" --entry --text "Ввести значение цифрой:" > /run/user/1000/proc
, то это равносильно занесению в память без записи на диск. По крайней мере, функциональность вызова через ПКМ при использовании cat /run/user/1000/proc
не изменилась. fstab не трогал, он пока по дефолту. При df -T
получил результат:
tmpfs tmpfs 365836 1172 364664 1% /run
/dev/sda2 ext4 479564280 205883968 249246352 46% /
tmpfs tmpfs 1829176 24228 1804948 2% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
/dev/sda1 vfat 33232 6186 27047 19% /boot/efi
tmpfs tmpfs 365832 80 365752 1% /run/user/1000
/dev/sda2 ext4 479564280 205883968 249246352 46% /
tmpfs tmpfs 1829176 24228 1804948 2% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
/dev/sda1 vfat 33232 6186 27047 19% /boot/efi
tmpfs tmpfs 365832 80 365752 1% /run/user/1000
-
- Сообщения: 10050
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 129
- Откуда: Нижний Тагил
- Благодарил (а): 776 раз
- Поблагодарили: 1958 раз
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Не верно понял. Ты записал таким образом в файл, на файловую систему, расположенную в оперативной памяти.
Да такой файл на диск не пишется и стирается при перезагрузке
-
Автор темы - Сообщения: 2020
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 30
- Откуда: BY
- Благодарил (а): 79 раз
- Поблагодарили: 434 раза
- Контактная информация:
Занести введенную цифру в память и далее считать это значение
Это то, что было желательно. Всем откликнувшимся спасибо за участие. С наступающим!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя