Rafik
Gość
Miernik podziękowań 0%
0 Witam!
Posiadam komputer z linuxem, w ktorym za pomoca komendy w bash moge np odwrocic ekran na monitorze do gory nogami.
Instrucja wyglada tak:
rt_mailbox eeprom_write video1_rotate 3, gdzie "video1_rotate" to zmienna, a "3" to wartosc zmiennej (ktora ma ta zmienna przyjac).
Jezeli mam 10 zmiennych do zmiany, to 10 razy musze pisac to całe: "rt_mailbox ..... "parametr" "wartosc parametru" i za kazdym razem zatwierdzic escapem, by zmienna została wpisana do pamieci. Jako wynik udanej operacji za kazdym razem pojawia sie na ekranie: "Ok."
Mecze sie nad skryptem w bashu, dzieki ktoremu moglbym uruchomic skrypt i wszystkie parametry zostałyby wpisane za jednym razem.
Pomozcie prosze, bo nie jestem niestety informatykiem, a mecze sie z tym juz 2 dni.
Pozdrawiam i zycze udanego dnia!
Liczba postów: 4 211
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
20-01-2020, 10:28
(Ten post był ostatnio modyfikowany: 20-01-2020, 10:29 przez dedito.)
0 Proszę pokazać ten skrypt, nieważne w jakim jest stanie.
Proszę też szerzej opisać jaki jest cel obracania tego ekranu.
Rafik
Gość
Miernik podziękowań 0%
0 Wiem, ze w linux nie ma komedy "do", ale chciałbym, zeby ten skrypt wykonywał wszystkie te linie sam - bez potrzeby pisania całego wiersza i zatwierdzania "enterem". Chodzi po prostu o przypisanie odpowiednich wartosci do "zmiennych" (ktore maja jednak stala wartosc)
A z tym obracaniem ekranu, to był tylko przykład "zmiennej", ktorej chce nadac konkretna i jedna wartosc.
#! bin/bash
do
rt_mailbox eeprom_write video1_rotate=3
rt_mailbox eeprom_write sdvoBlmode=1
rt_mailbox eeprom_write itemNr=1471372
rt_mailbox eeprom_write prodDate=200118
rt_mailbox eeprom_write testDate=20019
...
Liczba postów: 4 211
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
20-01-2020, 11:24
(Ten post był ostatnio modyfikowany: 20-01-2020, 11:30 przez dedito.)
0 Już sam początek skryptu jest zły bo ma być #!/bin/bash bez spacji za wykrzyknikiem.
Z tego co widzę to ma programować jakieś układy eeprom urządzeń z jakimś wyświetlaczem.
Dziwne to i niezrozumiałe i podejrzane jest dla mnie to całe zadanie.
Pobaw się programem autoexpect
Literatura:
https://likegeeks.com/expect-command/
https://linux.die.net/man/1/autoexpect
Chyba, że wystarczy, że bash będzie wypisywał komendy, a tobie pozostanie zatwierdzanie tego klawiszem esc to wtedy bash powinien wystarczyć.
Rafik
Gość
Miernik podziękowań 0%
0 Drogi Administratorze dedito...
Mowisz ze, ze bash powinien wystarczyc, gdy bede miał zatwierdzac te komendy tylko klawiszem esc...
Podejrzewam, ze ten cały skrypt to kilka linii programu.
Mogłbys mi ten skripcik napisac, albo chociaz pokazac jak powinna wygladac kluczowa dla mnie linia? Pliiiz
Liczba postów: 4 211
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Spróbuj go napisać samodzielnie, wolę dawać wędkę niż rybkę.
Tak niczego się nie nauczysz.
A jak nie chcesz się uczyć to zleć komuś napisanie skryptu.
Mi to pachnie jakimś zadaniem szkolnym, ogólnie jakoś podejrzanie to wszystko jest i nie chcę tu się więcej udzielać.
Rafik
Gość
Miernik podziękowań 0%
0 :/
To nie jest zadanie szkolne - potrzebuje tego w pracy, ale ok, rozumiem. Dzieki.
Liczba postów: 4 211
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Jak do pracy to te zmienne i tak trzeba chyba zmieniać przy każdym egzemplarzu, może nie date produccji i test, ale itemNr raczej tak:
rt_mailbox eeprom_write itemNr=1471372
rt_mailbox eeprom_write prodDate=200118
rt_mailbox eeprom_write testDate=20019
Rafik
Gość
Miernik podziękowań 0%
0 Tak, masz racje, ale gdy robimy czasem 10 czy 20 egzemplarzy, to głupio jest tak ciagle wpisywac te rt_mailbox......
Do tej pory tak tu robiono, ale wpadłem na to, ze moze mozna inaczej - łatwiej, szybciej. Problem jest taki, ze nie jestem informatykiem lecz elektronikiem...
Liczba postów: 4 211
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Tego nie musisz wpisywać ponownie.
Możesz przywołać ostatnie polecenie klawiszem strzałki do góry.
Ile razy naciśniesz klawisz strzałki do góry tyle razy się cofniesz w historii poleceń.
A testowo sobie odpal takie polecenie: rt_mailbox eeprom_write video1_rotate=3 | rt_mailbox eeprom_write sdvoBlmode=1 i sprawdź czy przejdą te dwa parametry.
Jak przejdą z tego polecenia to i w skrypcie powinny zadziałać hurtowo.
No i skrypt można rozbudować o automatykę numerów fabrycznych i dat.
Aż dziwne, że nie macie takich narzędzi, to co teraz robicie po trochu przypomina manufakturę rodem ze średniowiecza.
|