Puncte:0

alias-ul nu funcționează așa cum era de așteptat

drapel ph

Încerc să obțin tipuri de fisiere folosind un alias. Eu folosesc:

alias file-types="găsi . -tip f | perl -ne 'printează $1 dacă m/\.([^.\/]+)$/' | sort -u"

Cu toate acestea, nu funcționează:

Când introduc comanda în terminal, se arată (care este exact ceea ce vreau):

azw
azw3
bz2
chm
epub
pdf

dar când folosesc aliasul, arată ceva de genul:

./x.epub
./y.pdf
./z.pdf
.....

Ce pot face pentru a face această comandă un alias.

24601 avatar
drapel in
Referința dvs. este de la SO. De ce să nu pui întrebarea acolo? Întrebările de programare generice sunt de obicei tratate bine acolo și cu excepția cazului în care Ubuntu specifică o resursă mai bună de utilizat.
drapel cn
Bitul perl poate fi mai scurt (poate mai simplu?) -- `perl -ne 's/.+\.// && print'`
Puncte:3
drapel hr

Se datorează faptului că ghilimelele exterioare permit $1 pentru a fi evaluat de către shell atunci când aliasul este definit, deci imprimați 1 USD devine simplu imprimare :

$ alias file-types="găsește . -tip f | perl -ne 'printează $1 dacă m/\.([^.\/]+)$/' | sort -u"
$ tipuri de fișiere alias
alias file-types='find . -tip f | perl -ne '\''print if m/\.([^.\/]+)$/'\'' | sort -u'

Probabil că cea mai simplă modalitate de a remedia citarea este să scape de bara oblică inversă $:

imprimați \$1 dacă m/\.([^.\/]+)$/

in orice caz Aș recomanda utilizarea unei funcții shell în locul unui alias pentru cazuri ca acesta - vezi de exemplu În Bash, când să creați alias, când să scrieți un script și când să scrieți o funcție?

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.