BASH

Discussion in 'Linux, Freebsd, *nix' started by xeonx86, 29 Nov 2013.

  1. xeonx86

    xeonx86 New Member

    Joined:
    6 May 2012
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    Code:
    !
    #/bin/bash
     echo "сценарий запущен на $HOSTNAME"
     echo "1 for runing nano"
     echo "2 for runing vi"
     read $g
     case $g in
     1 )
      /usr/bin/nano
     ;;
     2 )
      /usr/bin/vi
     esac
    
    Что тут не правильно ??? после ввода числа 1 или 2 ничего не происходит
     
  2. -bI-

    -bI- Member

    Joined:
    25 Aug 2012
    Messages:
    103
    Likes Received:
    11
    Reputations:
    0
    read g
    case $g in
     
  3. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    уличная магия
    Code:
    #!/bin/bash
     
     echo -e "Сценарий запущен на $HOSTNAME\n"\
             "\t0 for runing nano\n"\
             "\t1 for runing vim"
     read g && ( (( g )) && `which vim` || `which nano` );
     
  4. xeonx86

    xeonx86 New Member

    Joined:
    6 May 2012
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    спасибо огромное ! :)
     
  5. xeonx86

    xeonx86 New Member

    Joined:
    6 May 2012
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    Code:
    #!/bin/bash
    agian=yes
    while ["$agian" = "yes"]
    do
    echo "Please enter a name:"
    read name
    echo "The name you entered is $name"
    echo "Do you wish to continue?"
    read agian
    done
    echo "Good Bye"
    
    а вот ещё код при выполнении ./xxx.sh: строка 3: [yes: команда не найдена
    Good Bye

    всё делаю как описано статье но то ли я туплю и не могу понять что и как либо в примерах статьи ошибки
     
  6. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Code:
    while [ "$agian" = "yes" ]
     
  7. xeonx86

    xeonx86 New Member

    Joined:
    6 May 2012
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    Я так понимаю в bash имеет значение как ставить скобки! то есть нужно делать отступы ?
     
  8. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    в [ ] [[ ]] имеет, но не всегда.. нужно проверять, если не уверен

    зато можно делать даже так:
    Code:
    g=4
    (( i = g > 10 ? 30 : 40 ))
    echo $i
    
    и так:
    Code:
    z=$[2+5*10]
    n=$[z<5?10:20]
    echo $n