The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Hva kommandoen å finne posten lengden av en fast lengde fil? tranq01 UNIX for Dummies Spørsmål og svar 9 12-04-2008 04:04
Debian: Ny yarssr pakker feilrettingsfilen vilkårlige shell-kommando iBot Sikkerhet veiledninger (RSS) 0 01-28-2008 10:20
hva er den maksimale lengden på th os-kommandolinje i Unix. kumardesai UNIX for Dummies Spørsmål og svar 2 11-28-2007 07:37
Hvordan kan du ta inn variabler / parametre fra kommandolinjen? avisram UNIX for Dummies Spørsmål og svar 1 07-21-2005 10:47
bestått kommandolinjeparametere til funksjoner - sh Vino Shell programmering og Skripting 5 03-05-2005 05:51

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 11-19-2007
cmcnorgan cmcnorgan is offline
Registrert bruker
  
 

Bli Dato: november 2007
Sted: London, Ontario, Canada
Innlegg: 2
Building kommandolinjeparametere av vilkårlig lengde

Jeg kunne ikke finne en eksisterende tråd som er adressert dette spørsmålet, så forhåpentligvis er ikke overflødig med noe tidligere postet. Here goes:

Jeg skriver en C-Shell skript som kjører et program som tar et vilkårlig antall parametere:

myprog-a fil1 \
-b fil2 \
-c file3 ... \
-n fileN \
-operasjon "a + b + c +...+ n"


Filene som myprog opererer er i underkataloger: 01/01.ext, 02/02.ext, ... etc.

Siden filnavnene skje for å matche katalogen navn, jeg vil gjerne være i stand til å passere skriptet et vilkårlig antall kataloger (i praksis vil det være færre enn 26, så det er ingen problem med å gå tom for "-x" koder ). Manuset vil da konstruere argument listen for myprog slik at
myscript.sh 01 02 03 ... 12
ville utvide til:
myprog-en 01/01.ext-b 02/02.ext ... -k 11/11.ext-l 12/12.ext \
-operasjon "a + b + c +...+ k + l"


Er det en grei måte å gjøre dette?
  #2 (permalink)  
Old 11-19-2007
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Post

utestet men det burde få deg ganske nær

Code:
#!/bin/sh
if [ $# -gt 26 ]
then
   echo "Too many args!"
   exit 1
fi

letters="a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z"
cli="myprog"
count=1
operation=""
for argument in $*
do
   count=`expr $count + 1`
   letter=`echo $letters | head +$count | tail -1`
   cli="$cli -$letter ${argument}/${argument}.ext"
   if [ -z "$operation" ]
   then
      operation=$letter
   else
      operation="${operation}+${letter}"
   fi
done
cli="$cli -operation \"$operation\""
$cli

  #3 (permalink)  
Old 11-20-2007
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4342

Code:
#!/bin/sh

echo $1 |
awk 'BEGIN {
n="abcdefghijklmnopqrstuvwxyz"
printf("myprog")}
{ for (i=1;i<=$0;i++) {
  printf(" -%s %02d/%02d.ext", substr(n,i,1), i, i)
  op=op substr(n,i,1)"+"
  }
  op=substr(op,1,length(op)-1)
  printf(" -operation \"%s\"\n",op)
}'

Bruk: "scriptname 5" istedet for "scriptname 01 ... 05".

Én verdi nok.

Hilsen
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 08:33.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0