1. leht 1-st

üks shelli skript

Postitatud: 08.11.2018, 12:16
Postitas libre
tegin shelli skripti, mis töötab kuid tühiku puhul teeb errorit ja mitmest lausest ei saa aru. Kahjuks rohkem lmõistus ei võta..

Kood: Vali kõik

#!/bin/sh
echo "
      robot v0.2
      =======================
      
    ";


echo "sisesta: $jutt1 "
 read -r jutt1 

if [ $jutt1 = "tere" ]; then
    printf "tere " ; else


if [ $jutt1 = "tänan" ]; then
    printf "võta heaks! "; else
    

if [ $jutt1 = "kakajunn"  ]; then
    printf "väljaheide! "; else


if [ $jutt1 = $jutt1 ]; then
    printf "ei saanud aru ";


fi 
  fi
fi
fi


Postitatud: 08.11.2018, 12:58
Postitas imre
Säästa ennast sellest if fi põrgust, kasuta case statementi
Palju lihtsam, ülevaatlikum süntaks

Kood: Vali kõik

#!/bin/sh
  echo "sisesta: "
  read INPUT
  case "$INPUT" in
        tere) echo "tere";;
        tänan)echo "võta heaks!";;
        kakajunn) echo "väljaheide";;
        *) echo "midagi ei sisestatud";;
  esac

Postitatud: 08.11.2018, 13:06
Postitas libre
vast ikka "midagi ei sisestatud" asemele "ei saanud aru."

Kuid mitmest lausest ei saagi see aru.. pean edasi mõtlema..
AGA JUBA PAREM!

LOODAME, et kellelgi foorumi külastajatest tekkib linuxi ja linuxi kesta kasutamises huvi!

Postitatud: 08.11.2018, 15:09
Postitas Gomi
Mitme sõna peale tekib error nendes

Kood: Vali kõik

[ $jutt1 = "tere" ]
plokkides. Näiteks sisendiga "üks kaks" oleks see siis

Kood: Vali kõik

[ üks kaks = "tere" ]
, kus "üks" oleks liigne argument. Seevastu

Kood: Vali kõik

[ "$jutt1" = "tere" ]
puhul seda ei juhtu.