Maison >Opération et maintenance >exploitation et maintenance Linux >Treize questions classiques sur les scripts Shell que vous devriez connaître

Treize questions classiques sur les scripts Shell que vous devriez connaître

Linux中文社区
Linux中文社区avant
2023-08-03 14:50:011279parcourir

Treize questions classiques sur les scripts Shell que vous devriez connaître

  • Treize questions classiques sur Shell

    • 1.

    • 2. Invite Shell (PS1) et Transport Quelle est la relation entre Return (CR)

    • 3. Quand quelqu'un d'autre fait écho et que vous faites écho aussi, que savez-vous de l'écho

    • 4. mark) et (guillemet simple) ?

    • 5. var=value Quelle est la différence entre export et export ?

    • 6. Quelle est la différence entre exécutable et source ?

    • 7. Quelle est la différence entre ( ) et { } ?

    • 8.

    • 9. Quelle est la différence entre et * ?

    • 10. Quelle est la différence entre && et || ?

    • 11. Quelle est la différence entre > et 89fa4f63defc3d6f461134e91a97937f 与 c01b8772d0f6397290d6d9199e3ce834 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案。

      ls my.file no.such.file 1> file.out 2>file.err
      # 2>&1 就是将stderr并进stdout做输出
      ls my.file no.such.file 1> file.out 2>&1
      # /dev/null 空
      ls my.file no.such.file >/dev/null 2>&1
      
      cat < file > file
      # 在 IO Redirection 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料。 
      # 也就是说,在上例中,> file 会先将 file 清空,然后才读进 < file , 
      # 但这时候档案已经被清空了,因此就变成读不进任何数据了

      12. 你要if还是case呢?

      # if
      echo -n "Do you want to continue?(Yes/No):"
      read YN
      if [ "$YN"=Y -o "$YN"=y -o "$YN"="Yes" -o "$YN"="yes" -o "$YN"="YES"];then
      echo "continue"
      else
      exit 0
      fi
      
      # case
      echo -n "Do you want to continue?(Yes/No):"
      read YN
      case "$YN" in
      [Yy]|[Yy][Ee][Ss])
      echo "continue"
      ;;
      *)
      exit 0
      esac

      13. for what? while与until差在哪?

      # for
      for ((i=1;i<=10;i++))
      do
       echo "num is $i"
      done
      
      # while
      num=1
      while [ "$num" -le 10 ]; do
       echo "num is $num"
       num=$(($num + 1))
      done
      
      # until
      num=1
      until [ "$num" -gt 10 ]; do
       echo "num is $num"
       num=$(($nu + 1))
      done
      • break 是结束 loop
      • return 是结束 function
      • exit 是结束 script/shell

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer