Portál AbcLinuxu, 29. března 2024 00:44
find: paths must precede expression Usage: find [path...] [expression](toho, co je ve funkci). Proc ale chodi ten, co je tam natvrdo (v nastaveni default prav) a ten v te funkci ne, kdyz syntax je temer totozna? Kdyz si necham vypsat tu promennou hledej a opisu ji do prikazoveho radku, tak se provede Prosim pomoze
#!/bin/sh # Definice funkce pro zmenu prav... function prava() { if [ $2 == "r" ] then opravneni="7750" fi if [ $2 == "rw" ] then opravneni="7770" fi if [ $2 == "" ] then break fi hledej="find $1 -print0 | xargs -0 chmod $opravneni" pwd #kontrola ze zoufalstvi echo $hledej #kontrola ze zoufalstvi $hledej } # Nastaveni dokumentu... cesta="/mnt/hdc1/samba/uzivatele/pepa" # Nastaveni default prav... cd $cesta find ./dokumenty -print0 | xargs -0 chmod 7700 # Nastaveni prav danych adresaru... cd dokumenty prava ./Adresa_dopis r
eval $hledejAle není-li důvod cpát to do proměnné, tak prostě
find "$1" -print0 | xargs -0 chmod "$opravneni"
#!/bin/sh # Definice funkce pro zmenu prav... function prava() { if [ $2 == "r" ] then opravneni="7750" fi if [ $2 == "rw" ] then opravneni="7770" fi if [ $2 == "" ] then break fi find "$1" -print0 | xargs -0 chmod $opravneni # bez zoufalych kontrol } # Nastaveni dokumentu... cesta="/mnt/hdc1/samba/uzivatele/pepa" # Nastaveni default prav... cd $cesta find ./dokumenty -print0 | xargs -0 chmod 7700 # Nastaveni prav danych adresaru... cd dokumenty prava ./Adresa_dopis rZkus popřemýšlet, proč tohle funguje a to tvoje ne. A maly hint pro zoufalce
eval $hledej
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.