Moltiplicazione in expr (bash)

Ciao a tutti

una domanda incredibilmente stupida:
su man expr c’è scritto che il per si fa come di consueto con la stellina *

ora se in shell do

echo expr 6 * 2
expr: errore di sintassi

mentre con + - / funziona perfettamente

echo expr 6 / 2
3

sono diventato scemo io, o che succede?

S.

 $ echo `expr 6 "*" 4`

[quote]
Beware that many operators need to be escaped or quoted for shells[/quote]

[quote=virus]

 $ echo `expr 6 "*" 4`

[quote]
Beware that many operators need to be escaped or quoted for shells[/quote][/quote]

grazie, mi era sfuggito :slight_smile:

Ho ancora una domanda su expr, e più in generale, ho difficoltà a capire come sh gestisce il passaggio di comandi complessi (con opzioni tipo ln -s) come argomenti di altre funzioni e/o comandi

Nel caso concreto vorrei che test confrontasse per vedere se è piu grande una variabile che ho gia dichiarato altrove, diciamo

casa=200

e un’altra variabile da valutare al momento dell’esecuzione di test, e ottenuta moltiplicando per 60 i minuti dell’ora attuale e aggiungendo i secondi

qualcosa del tipo quindi

#!/bin/bash

casa=200
test $casa -gt expr 60 "*" date +%M"+"date +%S``

Ora, questo non mi funziona, credo a causa degli annidamenti di apostrofi per gestire l’expr.
Putroppo non sono riuscito a capire bene come usarli. Credo di avere bisogno degli apostrofi piu esterni (quello prima di expr, e il suo compagno) per fare capire a test che expr è un comando, ma poi devo metterceli anche dentro, attorno a date perché c’è l’opzione. Ho provato un po’ di varianti, ma non ne vengo fuori

Se qualcuno inolter mi può linkare una bella guida a sh mi fa un piacere.

grazie
S.

forse perché date +%M “+” date +%S sono stringhe e non valori numerici ?

per le guide leggi
http://www.fedoraonline.it/modules/newbb/viewtopic.php?topic_id=6742&forum=8