Archief - bash probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

G|N|

Legacy Member
ik ben wat in bash aan het prullen en nu krijg ik dit probleem maar niet opgelost:

ik heb een functie yesNo die een waarde meekrijgt (y of n of onbekend) en die zou dan 1,2 of 3 moeten returnen naar return_val, maar die variabele blijft leeg.

yesNo()
Code:
function yesNo() {
	if [ "$1" == "y" ] || [ "$1" == "Y" ] ;
	 then
		 return 1
	elif [ "$1" == "n" ] || [ "$1" == "N" ] ;
	then
		 return 2
	else
		 return 3
	fi
}

oproepen yesNo()
Code:
printf "Do you want to replace it? <y/n > "
		read NY
		return_val=$(yesNo $NY)

		if [ "$return_val" -eq 1 ] ;
			then
                                blablalbal
fi

de foutmelding is:
Code:
./install.sh: [ :  : integer expression expected

Quadreg

Legacy Member
ik denk dat ge uw return value niet gewoon kunt opvangen met

Code:
return_val=$(yesNo $NY)

'k heb het wat aangepast, en hier werkt het.
Eerst roept ge uw functie aan, en dan vraagt ge met $? de exit code. zo dus :

Code:
printf "Do you want to replace it? <y/n > "
		read NY
		yesNo $NY
		return_val=$?

		if [ "$return_val" -eq 1 ] ;
		then
                         blablalbal
		fi

G|N|

Legacy Member
ja het werkt!
raar want zo had ik het precies ook geprobeerd eerst, maar kzal dan wel een domme fout hebben gemaakt.

Merci!

G|N|

Legacy Member
terug een nieuwe vraag:

ik heb een variabele $ALL_ITEMS waarin bv. dit kan zitten:
Code:
$echo $ALL_ITEMS
df uptime top free
nu zou ik die graag fatsoenlijk in een configuratiebestand steken zoals dit:
ITEMS="df uptime top free"

er moet ook mee rekening worden gehouden dat die regel overschreven moet worden en dus niet gewoon een nieuw bestand maken want er komen nog andere dingen in ook.

ik heb wat geprobeerd met sed, maar ik weet niet of dat wel het juiste middel is voor zoiets.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan