Puncte:1

Deschiderea unui program de oriunde

drapel br

Am un program compilat într-un anumit folder pe care aș dori să îl accesez de oriunde fără a avea nevoie de scriere ./path/to/file/each/time/app_name. De exemplu, executabilul aplicației este instalat în aceasta ./path/to/file/each/time/app_name cale și aș dori să o pot deschide scriind numele aplicatiei în linia de comandă și nimic mai mult decât atât. Cum as putea sa fac asta?

Puncte:1
drapel in

Creați un script (ca root) numit /usr/local/bin/app_name și pune asta înăuntru:

#!/bin/bash

/cale/la/fișier/nume_aplicație $@

Apoi faceți scriptul executabil:

sudo chmod +x /usr/local/bin/app_name
vanadium avatar
drapel cn
Mai bine explicați și de ce și cum funcționează. De asemenea, poate doriți să completați răspunsul adăugând o altă opțiune, adică să plasați un link simbolic către executabilul în `/usr/local/bin`. În plus, merită menționată opțiunea de a utiliza ~/bin sau ~/.local/bin dacă doar utilizatorul actual are nevoie de acces - în acest caz, nu este nevoie de acces root.
Kristopher Ives avatar
drapel in
`~/.bin` și altele nu sunt în `$PATH` implicit, așa că este o groapă mai adâncă. Există și alte probleme cu legăturile simbolice. Această soluție funcționează peste tot, indiferent de aceste probleme și, de asemenea, vă permite să faceți lucruri mai flexibile, cum ar fi adăugarea de argumente implicite sau executarea unor comenzi compuse mai complexe.
vanadium avatar
drapel cn
.bin este inclus automat în cale dacă există pe Ubuntu, deci nu există nicio gaură. Există mai multe găuri în încercarea de a face totul ca rădăcină. Cu legăturile simbolice, nu vor fi mai multe probleme decât cu abordarea dvs. Dacă o aplicație necesită să porniți într-un anumit folder sau să setați un mediu înainte, atunci într-adevăr, un script wrapper este calea de urmat.
Kristopher Ives avatar
drapel in
Nu. Calea implicită pentru 20.04 LTS este `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: /snap/bin`
vanadium avatar
drapel cn
Atunci trebuie să aveți o versiune Linux diferită sau utilizați un alt shell.
Kristopher Ives avatar
drapel in
Nu. Acestea sunt valorile implicite `$PATH`, consultați https://askubuntu.com/questions/386629/what-are-the-default-path-values
Zanna avatar
drapel kr
`~/bin` este adăugat la PATH dacă și numai dacă există (cum spune vanadium). Puteți găsi codul care îl adaugă în `~/.profile`
Puncte:0
drapel jp

Creați un alias pentru programul dvs. în .bashrc fişier.

nano ~/.bashrc

La sfârșitul fișierului tastați linia:

alias app_name=/path/to/file/each/time/app_name

Apoi salvează (CTRL+O atunci introduce) și ieșire (CTRL+X).

Veți putea folosi aliasul în noile ferestre Terminal pe care le deschideți.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.