Puncte:0

Două scripturi bash identice din același director se comportă diferit. ce fac greșit?

drapel ph

Tocmai încep cu Ubuntu, încercând să-mi dau seama. Sunt putin confuz.

Versiune scurtă a întrebărilor mele:

A) A face scripturile mele bash executabile nu pare să funcționeze în mod fiabil. În mod inexplicabil, nu va funcționa uneori, chiar și atunci când folosiți aceiași pași pe scripturi identice în același director.

B) Când pot face ca executabilitatea să funcționeze, uneori două scripturi identice par să se comporte diferit. Unul își face treaba așa cum este intenționat, celălalt lansează o notificare de eroare „Comandă nu a fost găsită”, în ciuda faptului că ambele sunt aceleași scripturi cu nume diferite în același director.

------(Mai multe detalii)--------

Pașii mei pentru a face scripturile executabile:

  1. Faceți clic dreapta pe fișier și bifați Proprietăți> Permisiuni> „Permiteți executarea fișierelor ca program”. (Acest lucru nu pare să facă nimic, dar o fac oricum. Ori de câte ori încerc să execut scriptul după acest pas, nu se întâmplă nimic.)

  2. Rulați „chmod +x” în terminal.

Am făcut ca acest lucru să funcționeze pe două scripturi diferite, dar pe altele. Habar n-am ce greșesc. Când executabilitatea nu funcționează, pot rula scriptul prin terminal și funcționează foarte bine.

Iată un exemplu de script pe care încerc să îl rulez:

#!/bin/bash

cd Desktop/Proiecte/Zemmings\ V3/NeoLemmix_V12.12.1
vin NeoLemmix.exe

Acest script funcționează și este executabil. Acum vreau să-l dublez și să schimb căile și programele pentru diferite aplicații Windows.

Copiez și lipesc fișierul, schimb numele, parcurg pașii de executabilitate de mai sus, dau dublu clic pe el și primesc o eroare care spune „Comandă nu a fost găsită”. Cu toate acestea, acest lucru este înainte de a schimba scriptul, așa că ar trebui să facă exact același lucru ca și originalul. În ciuda faptului că are conținut identic, dă o eroare în timp ce originalul încă funcționează.

Deci, dacă cineva are un răspuns sau un sfat pentru mine, anunță-mă.

-------(Rezumatul întrebărilor)------------

De ce se verifică Proprietăți> Permisiuni> „Permite executarea fișierelor ca program”. pe un fișier par să nu facă nimic?

De ce „chmod +x” nu funcționează uneori?

De ce două scripturi identice din același director se comportă diferit?

Mulțumiri!

mook765 avatar
drapel cn
Confuz, spuneți că executabilitatea nu funcționează, dar vă puteți executa, evident, scriptul, cum merge asta împreună? Ar trebui să înlocuiți calea relativă din comanda cd din script-ul dvs. cu calea absolută.
Martin Thornton avatar
drapel cn
Execubilitatea *este* setată corect, deoarece terminalul funcționează bine, așa că ceva diferit este greșit. Se pare că este vorba doar despre rularea unui script dintr-un manager de fișiere. Pe care și, de asemenea, ce tip de Ubuntu și ce versiune folosești? De asemenea, dacă singura diferență este într-adevăr numele fișierelor, acele nume exacte ar putea fi un indiciu.
waltinator avatar
drapel it
Care este sistemul de fișiere de bază?
Jeff Schaller avatar
drapel ru
Editorul dvs. salvează fișierul cu sfârșituri de linie în stil Windows? (întoarcerea căruciorului + linie nouă în loc de doar linie nouă)
zanzindorf avatar
drapel ph
@mook765 Scopul este să lansez scripturile de pe desktop-ul meu, nu de pe terminal. Este un lucru care economisește timp. Este executabilitatea de pe desktop care nu funcționează. Cât despre cărări, am crezut că sunt absolute. Au nevoie doar de un / la începutul căilor? Credeam că căile relative foloseau . si .. chestii.
zanzindorf avatar
drapel ph
@MartinThornton Cred că este cea implicită care vine cu Ubuntu implicit. Fereastra despre spune că numele este doar „Fișiere”. Rulez Ubuntu 20.04.2 LTS dacă asta ajută. Am și ceva numit „FileManager-Actions” care are o pictogramă nautilus. Am încercat să dublez scriptul, să șterg originalul și să redenumesc copiei cu numele originalului, dar am întâlnit aceeași eroare.
zanzindorf avatar
drapel ph
@JeffSchaller Nu sunt sigur. Folosesc gedit, care cred că a venit cu Ubuntu. Cum as verifica asta? De asemenea, oricare ar fi, sfârșitul liniei este 100% în concordanță cu ambele copii ale scriptului, deoarece copiez/lipesc întregul fișier în browserul de fișiere.
zanzindorf avatar
drapel ph
INFORMAȚII NOUĂ: De asemenea, am dat peste ceva nou în acest sens. Dacă deschid două ferestre de explorare a fișierelor, una cu desktop și cealaltă cu orice alt director și trag scriptul de pe desktop în celălalt director, apoi îl mut înapoi pe desktop, prostul începe să funcționeze. Devine executabil de pe desktop doar mutându-l dintr-un director în altul și înapoi. Cum? Aceasta este o soluție, cred, dar este cam enervant. Există o remediere la asta?
Puncte:0
drapel ph

Problema cred că este că desktopul implicit este îngrozitor. În timp ce cercetează o problemă separată, se pare că există numeroase probleme cu desktopul implicit, iar unii oameni recomandă doar să folosești o extensie diferită pentru acesta, ceea ce voi face. Am trecut la „Desktop Icons NG” și totul funcționează perfect acum.

Pot bifa pur și simplu „Permite executarea fișierelor ca program” în permisiuni și acum funcționează fără probleme datorită noii extensii desktop. De asemenea, acum pot trage și plasa fișiere de pe desktop în aplicații și browsere de fișiere. Totul este bine acum. Îmi pare rău, aceasta nu este o remediere, este o soluție, dar cred că aceasta este pur și simplu o eroare sau o neglijare (pe baza altor discuții pe care le-am găsit) care va fi corectată în cele din urmă.Deci, cred că singura soluție reală este să așteptați până când este remediat sau să folosiți această soluție.

O altă soluție posibilă pe care am văzut-o a fost să dezactivez vizualizarea experimentală pentru browserul de fișiere, dar asta nu a funcționat pentru mine.

Pentru a instala extensia alt desktop care a funcționat pentru mine: https://ubuntuhandbook.org/index.php/2020/10/enable-drag-drop-desktop-ubuntu-20-04/

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.