Mi a baj az alábbi BASH szkripttel?
Ki akarom írni az user mappában lévő fájlokat növekvő sorrendben ezzel:
#! /bin/bash
mappak = ls "./home/user/"
echo $mappak | sort
De futtatáskor csak ennyit kapok:
program.sh: sor: 2: $'\r': parancs nem található
program.sh: sor: 3: mappak: parancs nem található
program.sh: sor: 4: $'sort\r': parancs nem található
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Több minden is rossz benne.
Ha hibát azért kapod mert a "mappak" után raksz egy szóközt és azt hiszi parancsot akarsz futtatni.
Helyesen szóköz:
mappak= ls "./home/user/"
Az ls is hibás. Ha "."-al kezdesz egy útvonalat akkor a jelenlegi mappához relatív útvonalat fogja visszaadni, ne legyen ott ".", csak simán "/home/user".
A következő dolog hogy az ls nem csak fájlokat hanem mappákat is listáz. Ki kell szűrni a mappákat, ha csak a fájlokat akarod látni, erre egy módszer:
ls -p mappanév | grep -v /
És pár megjegyzés amit jó tudni:
- alapból az ls név szerint rendez, nem kell sort
- az ls nem szereti az idézőjeleket, ha szóköz vagy speciális karakter kell akkor azt escapeld inkább különben hibát okozhat
- a felhasználó home mappájának az elérési útvonala "~", más felhasználóé pedig "~másfelhasználó"
Mindent összevetve valahogy így néz ki a scripted:
#! /bin/bash
mappak= ls -p ~user | grep -v /
echo $mappak
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
De minek ehhez script? :-)
find ./ -type f | sort
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!