Puncte:1

Eroare de format Exec cu formatul de fișier „date”.

drapel cn

Știe cineva de ce dă eroare de format când încerc să rulez ecou prin /bin/echo sau /usr/bin/echo dar funcționează bine dacă scriu ecou în linia de comandă

bash: /usr/bin/echo: nu se poate executa fișierul binar: eroare de format Exec

Ieșirea fișierul /bin/echo

/bin/echo: date

Ce e aia date format de fișier de ce nu îl pot executa.

Iată captura de ecran, Captură de ecran

drapel hr
Când tastați doar `echo` în linia de comandă, cel mai probabil obțineți implementarea încorporată a comenzii în shell-ul dvs. interactiv.
Mr Syhd avatar
drapel cn
@steeldriver, dar când rulez „care echo”, ieșirea este /usr/bin/echo, pot face și scriptul echo în folderul bin la fel ca implementarea încorporată? astfel încât să nu-mi dea eroare executabilă
drapel hr
`/bin/echo` ar trebui să funcționeze - se pare că fișierul a fost corupt. Poate că îl puteți remedia reinstalând pachetul `coreutils`.
Mr Syhd avatar
drapel cn
@steeldriver mulțumesc, reinstalarea pachetului coreutils remediază problema
Mr Syhd avatar
drapel cn
@steeldriver, dar este ceva care mă deranjează capul, tocmai ai spus că `echo` în linia de comandă ar putea fi implementarea încorporată, dar de ce atunci când rulez `whhich echo` ieșirea este `/usr/bin/bash` care este dosar problematic, stii de ce?
drapel hr
Nu, nu știu de ce - m-aș aștepta ca `which echo` să scoată `/usr/bin/echo` (sau `/bin/echo` pe un sistem pre-usrmerge). FYI `care` vă va arăta doar executabile externe - încercați în schimb `type -a echo`. Vezi și [De ce să nu folosești „care”? Ce să folosești atunci?](https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then)
Mr Syhd avatar
drapel cn
@steeldriver oh, văd, mulțumesc pentru răspuns
Mr Syhd avatar
drapel cn
lol da, ieșirea ar trebui să fie /usr/bin/echo, greșeală
Puncte:4
drapel in

Probabil că este ceva în neregulă cu dvs /bin/echo, deoarece ar trebui să obțineți așa ceva când alergați fişier pe el:

/bin/echo: obiect partajat LSB ELF pe 64 de biți, x86-64, versiunea 1 (SYSV), legat dinamic, interpret /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=714b557112010bbcd04b0e5e5e6efc, for GNU/Linux 3.2.0, eliminat

Putem vedea asta coreutils este pachetul care ar trebui să îl ofere /bin/echo rulând:

dpkg -S /bin/echo

Și, în sfârșit, puteți verifica pentru a vă asigura că niciunul dintre fișierele pachetului nu a fost modificat sau corupt rulând:

sudo apt install debsums
debsums coreutils

Dacă oricare dintre fișiere este corupt, le puteți reinstala folosind:

sudo apt install coreutils --reinstall
Mr Syhd avatar
drapel cn
raspuns detaliat, multumesc!!

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.