[bash] script probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • belrpr
  • Registratie: Februari 2010
  • Laatst online: 07-06 00:14
Beste medetweakers,
na lange afwezigheid ben ik nog eens een bashscript aan het schrijven om iets te automatiseren.
Maar ik loop vast op volgend probleem:

NUMBERDOCS=`$ls -1 "$SOURCE"/"$JOBNAME"/*.docx | wc -l`
Probleem is dat als de $SOURCE of $JOBNAME een spatie bevat dat het commando faalt.

Had het volgende al geprobeerd:
NUMBERDOCS=`$ls -1 "'$SOURCE"/"$JOBNAME"/'*.docx | wc -l`
maar door de single quotes worden de variabelen niet gebruikt maar print hij letterlijk $SOURCE

NUMBERDOCS=`$ls -1 \""$SOURCE"/"$JOBNAME"/\"*.docx | wc -l`
werkt ook niet.

Alvast bedankt voor de hulp.

Acties:
  • +2 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Wat probeer je te doen hier? Aantal docx files in $source/$jobname tellen?

NUMBERDOCS=$(ls -1 "${SOURCE}/${JOBNAME}"/*.docx | wc -l)


moet werken.

[ Voor 82% gewijzigd door CyBeR op 16-11-2015 15:21 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Daar is de $(...) een vervanger voor backticks. Dat is de aangeraden manier tegenwoordig, meen ik,

Acties:
  • 0 Henk 'm!

  • belrpr
  • Registratie: Februari 2010
  • Laatst online: 07-06 00:14
CyBeR schreef op maandag 16 november 2015 @ 15:15:
Wat probeer je te doen hier? Aantal docx files in $source/$jobname tellen?

NUMBERDOCS=$(ls -1 "${SOURCE}/${JOBNAME}"/*.docx | wc -l)


moet werken.
Thx zal ik vanavond eens testen!
Update: Werkt perfect. Nog een vraagje

Ik had volgend commando:
FILESPACE=`ls -lh $VEEAMSOURCEDOC | awk '{print $5}'`

nu wou ik dit ook omzetten naar de $() manier maar dit lukt niet:
FILESPACE=$(ls -lh ${VEEAMSOURCEDOC} | awk '{print $5}')

[ Voor 30% gewijzigd door belrpr op 18-11-2015 14:26 ]