![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Sikker søgning Returnerer bedste resultater | iBot | Oracle Opdateringer (RSS) | 0 | 04-06-2008 06:10 AM |
| behovet for at flytte Find resultater | pimentelgg | Shell Programmering og Scripting | 9 | 12-20-2007 06:00 PM |
| Find resultater | Carmen123 | UNIX for dummyer Spørgsmål & svar | 5 | 08-10-2005 11:27 AM |
| script returnerer prompten | kburrows | UNIX for dummyer Spørgsmål & svar | 3 | 10-06-2003 11:12 AM |
| cant find kommandoen, der returnerer tomme linje | jeffersno1 | UNIX for dummyer Spørgsmål & svar | 2 | 11-15-2001 04:14 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
FIND returnerer forskellige resultater i script
Når jeg udfører denne linje ved kommandoprompten jeg får et andet svar end når jeg kører det i et script? Nogen idéer til, hvordan man kan løse? Jeg forsøger at finde alle filer / dir i en mappe, undtagen filer, der begynder med ordet fil.
Når jeg får denne kommando til at arbejde, vil jeg tilføje "delete" del til kommandolinjen. Bare at forsøge at sikre mig, at jeg har alle de rigtige filer anført først. Kommandolinjeflag svdw1234: find. -mtime -1! -name filen \ * . . / test_purge svdw1234: SCRIPT + Finde. -mtime -1! -name filen \ * . . / test_purge . / test_purge / file_test_purge_subdir.txt . / file_sqr_test.txt . / file.txt + Return_code \u003d 0 Tak, Barbara |
|
||||
|
Syntaksen er slags særling, og chancerne er din interaktive script er udført af noget lignende ksh eller bash, mens dit script er formentlig henrettet af / bin / sh. Især vil jeg forestille unoterede udråbstegn kunne have nogle usete bivirkninger. Prøv at reparere finde kommando til at overholde spec: Code:
find . -mtime -1 -a \! -name file\* Også undersøge, hvorvidt PATH en eller anden måde er anderledes inde i scriptet, og / eller du har funktioner eller aliaser som blande sig i det interaktive skallen. |
|
||||
|
login shell vs molevitten linje
Er din molevitten linje forskellig fra din login-shell. Måske er det! har uønskede bivirkninger, og da din kun er interesseret i filer tilføje-type skifte også. Code:
find . -mtime -1 -type f ! -name "file*" |
|
||||
|
Jeg har ændret sig til tanken, så de passer til script og stadig ikke gode resultater?
svdw0088: ksh $ Finde. ! -name "-filen * '-mtime -1 . . / test_purge $ SCRIPT første linje: #! / bin / ksh SCRIPT output: + Finde. ! -name "-filen * '-mtime -1 . . / test_purge . / test_purge / file_test_purge_subdir.txt . / file_sqr_test.txt . / file.txt + Return_code \u003d 0 Det stadig viser de filer, der begynder med ordet fil. Jeg ønsker at udelukke directory strukturer også. Tak, Barbara Sidst redigeret af blt123; 04-25-2008 på 04:23 PM.. |
|
||||
|
Franklin52: Det er ikke det, enkelt anførselstegn er stærkere end det dobbelte, så resultatet skulle være de samme (du vil forhindre stjerne fra at blive udvidet med tanken). blt123: Kan du kører interaktivt skallen med -x Også? Code:
prompt$ ksh -x $ find . ! -name 'file*' -mtime -1 + find . ! -name file* -mtime -1 . ./test_purge ./test_purge/file_test_purge_subdir.txt ./file_sqr_test.txt ./file.txt $ exit + exit Se + linjer der? Du kan få dem fra en interaktiv session ligesom fra et script. (Man behøver ikke at starte en subshell enten, kan du bare sige set-x at sætte dem i stand; sæt + x for at slå dem tilbage off.) Det afgørende spørgsmål er, om de finde kommando bliver udvidet til at noget uventet. Også, kan du forsøge med et hårdt kodet stien til din finde binær (/ usr / bin / find Jeg vil gætte)? |
![]() |
| Bogmærker |
| Tags |
| mtime |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|