Kezdőoldal » Számítástechnika » Programozás » [Shell Script] Miért kapok...

Qaxqaxqax kérdése:

[Shell Script] Miért kapok mv: cannot stat . No such file or directory hibát?

Figyelt kérdés

A feladat, hogy 3 paramétert kap az sh fájl (mappa, szám1, szám2) és a mappában lévő összes file és mappa végére (nem rekurzívan) oda kell fűzni a szám1 és szám2 összegét. Működik is ha a mappának a saját mappát adom meg, ahol a fájl van, de ha egy másikat adok meg rögtön kapom a benne lévő összes fájltól a hibaüzenetet (...). Már ötletem sincs mi lehet a gond elég sok mindent kipróbáltam, hogy működjön:|


A kód:


#!/bin/bash


if [ -d "$1" ] && (( $# >= 3 ))

then

ossz=`expr "$2" + "$3"`

for a in `ls "$1"`

do

if [ -f "$a" ] || [ -d "$a" ]

then

mv "$a" "$a$ossz"

fi

done

ls -r "$1"

else

echo "ERROR"

exit

fi


Az időtöket előre is köszi(:



2015. márc. 7. 17:18
 1/4 anonim ***** válasza:

"cannot stat ."


Itt a . (pont) az aktuális mappa, ami ugye minden mappán belül létezik, és nem érdemes ilyen módon piszkálni. Szerintem át kéne ugrani, ahogy a ".." mappát is.

2015. márc. 7. 17:31
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Az a baj, hogy a többire is ugyan ezt a hibát kapom, szerintem ha azzal lenne a probléma, akkor csak azokra az esetekre kapnám meg a hibaüzenetet; nem minden ciklus végrehajtósási körben:|
2015. márc. 7. 17:47
 3/4 anonim ***** válasza:

sum = $(($2+$3));

find $1 -type f -exec mv '{}' '{}'.$sum \;

2015. márc. 7. 18:00
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Gondolom, hogy az aktuális mappában próbálod átnevezni a fájlokat, amik nincsenek is ott, nem a paraméterül kapottban.
2015. márc. 7. 19:38
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!