Întrebări cu tag ['scenarii']
Un script este o serie de instrucțiuni scrise într-un fișier „text simplu”. Interpretul de script (de exemplu, Bash sau alt shell, Python, Perl, Ruby etc.) citește fișierul și execută instrucțiunile ca și cum ar fi fost introduse la promptul de comandă.

Am un script watchdog care rulează aplicații listate într-un fișier. Vreau să pot rula aplicațiile așa cum sunt introduse în acel fișier. În prezent, doar fac bucla prin fișier și le rulez în fundal dacă nu există niciun pid asociat cu acele aplicații, pur și simplu rulez aplicația cu (list_Entry &) pentru a permite toate argumentele pe care le-ar putea avea aplicația și redirecÈ ...
Încerc să creez o funcție string_split compatibilă cu #!/bin/sh, care are o sintaxă de comandă similară cu comanda de citire, astfel încât să puteți trece șirul pe care doriți să îl împărțiți și variabilele pe care doriți să le atribuiți șirurile.
Aceasta este funcția cu care am venit, dar nu îmi pot da seama cum să fac noile valori disponibile în afara funcției, așa ...
Pentru configurarea mea de lucru, în prezent mă aflu într-o mașină de la distanță. Vreau să apelez un anumit program Python de mai multe ori cu argumente diferite, așa că am scris un script bash simplu care arată astfel:
get_results.sh:
#!/bin/bash
python generate.py -d 10
python generate.py -d 20
...
Întrebarea mea este dacă rulez acest script bash ca nohup ./get_results.sh
, apoi mă de ...
Un începător e aici. Ei bine, am probleme în a înțelege diferența dintre:
fie a=$a+$b
fie i=$i+1
și:
a+=$b
i=$(($i + 1))
Cu siguranță există o diferență pentru că a doua expresie mi-a distrus scenariul, dând o valoare de gunoi.
Iată scenariul meu:
întrebarea este [ scriptul trebuie să ofere utilizatorului posibilitatea de a pune câteva note ca intrare până când utilizatorul dă q ...
Să considerăm că rezultatul fiecărei execuții personalizate (unele software în Linux), este salvat într-un nume de fișier generic /mydump/xyz.out. În loc să denumesc personalizat fiecare fișier de ieșire, vreau să scriu un script care face următoarele:-
- navighează la /mydump (cd mydump)
- creează un nume de fișier folosind argumentele transmise de ex. config1_config2xconfig3.out ...

Am o problemă cu un script shell pe care îl scriu, în care face tot ce trebuie să facă, cu excepția faptului că nu va ieși din submeniuri și nici nu va ieși complet din script când se află într-un submeniu.
Iată ce am făcut până acum. Am redactat părți din ea din cauza confidențialității muncii:
#!/bin/bash
#Acum pentru meniul principal...
in timp ce :
do
clar
...
Doresc să apelez mai multe scripturi dintr-un singur fișier script, cu diverse intrări și ieșiri ca aceasta:
./file1.sh ip1 ip2 op1
./file2.sh op1 op2
și așa mai departe. Ceea ce vreau să spun este că rezultatul dat de rularea fișier1 ar trebui să fie introdus în fișier2, iar ieșirea fișierului2 în fișier3 și așa mai departe. Există cinci fișiere și acestea trebuie apelate înt ...

Am găsit mai multe postări (de ex., Cum rulez comenzi la suspendare/revenire de la suspendare?, Cum să rulezi un script înainte de suspendare?, Scriptul nu rulează la reluare/trezire în Ubuntu) care descriu adăugarea unui script în /etc/pm/sleep.d
sau /usr/lib/pm-utils/sleep.d
pentru a executa comenzi la suspendare/reluare. Cu toate acestea, nu am reușit să fac asta să funcționeze; scriptul pa ...
Lansez un script cu reguli udev pe fiecare conexiune de dispozitiv USB. Problema este decât am nevoie de acest script pentru a lansa altul după 20 de secunde.
Acesta este codul.
#!/bin/bash
#
dormi 20
/'Un alt script'
Problema este că a face așa cu întârzierea operației de montare udev, ceea ce nu vreau să se întâmple.
Am încercat asta:
#!/bin/bash
#
nohup bash /'Alt Script' &
fg
...
Aceasta ascunde rezultatul de la prima comandă și se tipărește Hopa!
la stderr dacă eșuează. Până acum, bine.
#!/usr/bin/env bash
invalid_command > /dev/null 2>&1 || >&2 ecou „Hopa”
ecou salut
Asta scoate asta:
Hopa!
Bună
Dar trebuie să ies și să imprim un mesaj dacă prima comandă a eșuat. Așa că am încercat să folosesc paranteze.
#!/usr/bin/env bash
invalid_c ...

Eu folosesc 20.04.
Boot se oprește întotdeauna la „Begin: Running /scripts/local-premount” - și nu numai timp de 30 de secunde, ci complet.
Când revin la o versiune de kernel, totul funcționează bine.
Ce pot sa fac?
Multumesc anticipat pentru ajutor!
Sunt un utilizator începător pe Ubuntu 20.04 LST.Acolo jos, unde este un script pe python pentru slurm pe care am încercat să lucrez, dar nu.
Este ceva în neregulă la trei variabile.
#! /bin/bash
ROOT_UID=0
#Run ca root, desigur. (acest lucru ar putea să nu fie necesar, pentru că oricum trebuie să rulăm scriptul cumva cu root)
dacă [ "$UID" -ne "$ROOT_UID" ]
atunci
echo „Trebu ...
Încerc să configurez PostgreSQL cu un script bash care preia variabilele dintr-un fișier .env.
Codul meu -
#!/bin/bash
DB_NAME=$(grep DB_NAME .env | cut -d '=' -f 2-)
DB_USER=$(grep DB_USER .env | cut -d '=' -f 2-)
DB_PASSWORD=$(grep DB_PASSWORD .env | cut -d '=' -f 2-)
echo $DB_NAME;
echo $DB_USER;
echo $DB_PASSWORD;
sudo -u postgres psql -c "CREATE BAZA DE DATE $DB_NAME;"
sudo -u po ...
Tocmai am început să folosesc Linux și am urmat un tutorial despre cum să folosesc ROOT de la CERN folosind UBUNTU LTS. Am urmărit cum să-l instalez și am înțeles că pentru a accesa ROOT trebuie să tastați următoarele comenzi:
. root-6/24.06-install/bin/thisroot.sh
rădăcină
Știu că este un fișier sh, dar ori de câte ori caut pe Google despre asta, îmi spune că, pentru a rula un ...
Am un spript "poweriso.sh" care funcționează bine făcând dublu clic în director.
exportați LD_LIBRARY_PATH=.
exportați QT_QPA_PLATFORM_PLUGIN_PATH=.
./poweriso
dezactivați LD_LIBRARY_PATH
Așa a venit fișierul în descărcare. Am adăugat
#!/bin/bash
Nu a contat.
Am un fișier .desktop „poweriso.desktop” care nu îl lansează.
[Intrare pe desktop]
Tip=Aplicație
Te ...
Am 700 de linii (șir) și mă întrebam cum pot face un script bash care trimite o solicitare HTTP folosind răsuci
când rulează prima dată astfel încât va trimite prima cerere cu prima linie, apoi când trimite a doua cerere va folosi a doua linie, a treia cerere, va folosi a treia linie, ..., a 700-a cerere va folosi utilizați a 700-a linie apoi repetați.
De asemenea, ce crezi că este mai bun? ...
Sunt nou în scripturile shell. Fac un raspberry pi fără cap care pirata rețelele WiFi (în scopuri educaționale) cu un program numit wifite. Planul este ca acesta să trimită apoi un e-mail către cu un atașament al rezultatului (neimplementat încă).
Deci, acest program este interactiv, așa că trebuie să trimit intrarea de la tastatură prin care fac asta xdotool. Problema principală este ...
Sunt noob cu scriptul shell și încerc să transmit mai multe argumente unei comenzi. Am un urls.txt fișier care arată ca mai jos
nume1, http://url1
nume2,http://url2
nume3,http://url3
nume4, http://url4
cu comanda de mai jos, pot obține rezultate după împărțirea prin virgulă
pisica urls.txt | tăiați -d ',' -f1
pisica urls.txt | tăiați -d ',' -f2
Primul dă numele1, nume2, etc, iar al d ...
Ciudat. Am câteva scripturi pe care le folosesc mai ales după instalarea proaspătă a Ubuntu. Odinioară lucrau, acum nu mai lucrează. Sunt pe un hdd suplimentar, m-am gândit că ar putea fi probleme de permisie, nu. Am instalat VPN și xterm, scripturile pentru VPN folosesc xterm, funcționează. Am încercat să adaug xterm la scripturi care nu mai funcționează, acum funcționează. Deci, ...
ceea ce încerc să fac este să citesc fișiere din 4 foldere diferite dezarhivate Până acum, fără succes, am scris acel scenariu:
pentru dosar; do
local file_type=$( fișier -i „$fișier” )
cazul „$file_type” în
*application/x-bzip2*) echo „fișier bzip2 găsit”;;
*application/gzip*) echo „fișier gzip găsit”;;
*aplicație/zip*) echo „fișier zip găsit”;;
*a ...
Am creat un script bash pentru a face o copie de rezervă a serverului meu AWS Ligthsail cu restic. Totul funcționează în sfârșit, dar există un lucru la care nu am putut găsi un răspuns.
Doar partea în care este problema:
//Setări
uitare_politică=(--păstrare-în-un-zil 7d --păstrare-în-un-săptămânal-1 min --păstrare-în-în-un-lunar 1 an --păstrare-în-a lungul-anual 2 ani)
//(Ã ...
Am vrut o modalitate de a scrie un script pentru montarea hard disk-urilor la un anumit punct de montare. Dupa cateva cautari, am gasit: https://gist.github.com/trentmswanson/9c22bb71182e982bd36f
Acesta a fost pentru MS Azure și nu a acoperit anumite tipuri de hard disk-uri din Infrastructura AWS.A folosit sdf în nvm necesar. Am făcut acele modificări și rezultatul a funcționat. Am o matrice care ...
Când alerg acest script .sh folosind bash, unele fișiere (cred că este al cincilea, al șaselea și al șaptelea wget) nu se descarcă și dau o eroare 503, deși pot fi descărcate în browser cu link-ul de descărcare directă. Toate fișierele merg în directorul scriptului în loc de directorul în care vreau să intre. De ce wget-ul meu nu funcționează corect, este învechit sau am făcut ce ...
Sunt nou în Bash și codificare în general și nu voi minți. Am nevoie de ajutor pentru o sarcină de teme în care trebuie făcut un script care cere utilizatorului un nume de fișier și apoi îl mută într-o locație desemnată.
Presupun că scriptul pentru mutarea fișierului ar fi
#!/bin/bash
mv /cale/spre/sursă /cale/spre/destinație
Dar cum implementez acest lucru atunci când îi cer utilizat ...
Poate cineva să explice de ce scriptul meu nu mai face foldere la 406 foldere și să-mi spună o modalitate de a-l face să funcționeze?
#!/bin/bash
rm -rf infinit2
în timp ce adevărat
do
mkdir infinit2
cd ./infinit2
mkdir infinit1
cd ./infinit1
Terminat
Am petrecut câteva zile încercând să-mi dau seama și nu am găsit de ce nu funcționează.
Crontab configurat pentru a rula un script.
config crontab
* * * * * export DISPLAY=:0 && sh $HOME/path/to/script >> /tmp/error.llog 2>&1
Scenariul
gnome-terminal --window -e "sudo ifconfig wlo1 down; sleep 1; sudo ifconfig wlo1 up"
Ori de câte ori scriptul este executat, primesc următorul mesaj de eroare.
Eroare la construirea proxy-ului pentru org.gnome.Terminal:/org/gnome/Termina ...

acesta este scenariul:
#!/bin/sh
rm -rf git/
mkdir -p git/{c,ds/{include,test},proiecte,quiz,programare_sistem}
găsiți git/ -type d -exec touch {}/dummy.md \;
Acesta este rezultatul dorit:
git/
âââ c
â  âââ dummy.md
âââ ds
â  âââ dummy.md
â  âââ includ
â  â  âââ dummy.md
â  âââ test
â  âââ dummy.md
âââ manechin.md
âââ p ...
Ubuntu noob aici folosind 20.04.3. Încerc să programez deschiderea unui flux RTSP în VLC folosind crontab, dar îmi este foarte greu să-l fac să funcționeze.
Comanda mea vlc funcționează bine în terminal și într-un executabil .sh. Trecând la fișierul meu crontab, am încercat să folosesc calificatorul DISPLAY:=0.0, dar nimic. Am încercat să îmi apelez comanda vlc dintr-un executab ...