校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > csh,tcsh,bash,sh等shell的區別

csh,tcsh,bash,sh等shell的區別

熱門標簽:如果做線上地圖標注 河南信譽好的不封卡電話外呼系統 江蘇云電銷機器人公司 客服外呼系統怎么樣 打電話機器人接我是他的秘書 揭陽智能電話機器人推薦 百度地圖標注錯了有責任嗎 地圖標注員都是年輕人 華鋒e路航港口地圖標注

出自bash的faq,仔細看看。順便翻譯學習一下。

復制代碼 代碼如下:

Section C: Differences from other Unix shells
C:跟其他UNIX shells腳本的區別
C1) How does bash differ from sh, the Bourne shell?
C1) bash和 sh、Bourne shell的區別
This is a non-comprehensive list of features that differentiate bash
from the SVR4.2 shell.  The bash manual page explains these more
completely.
這時一個不全面的bash和SVR4.2 shell特性區別的列表,bash手冊解釋的更詳細
Things bash has that sh does not:
bash特有的功能:
        long invocation options
        長選項的調用
        [+-]O invocation option
        -l invocation option
        `!' reserved word to invert pipeline return value
         !嘆號保留字對管道返回的值取反
        `time' reserved word to time pipelines and shell builtins
         time保留字測試管道或內建命令耗時情況
        the `function' reserved word
        the `select' compound command and reserved word
        select復合命令和保留字
        arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
        算術命令:for ((expr1 ; expr2; expr3 )); do list; done
        new $'...' and $"..." quoting
        新的引用方法$'...'  $"..."
        the $(...) form of command substitution
        $(...) 命令替代用法
        the $(filename) form of command substitution, equivalent to
                $(cat filename)
        $(filename)形式的命令的替換,相當于$(cat filename)
        the ${#param} parameter value length operator
        ${#param} 測試參數param的值的長度
        the ${!param} indirect parameter expansion operator
        ${!param} 間接參數擴展操作
        the ${!param*} prefix expansion operator
        ${!param*} 前綴擴展操作
        the ${param:offset[]} parameter substring operator
       ${param:ffset[]}參數通過偏移量截取子串操作
        the ${param/pat[/string]} parameter pattern substitution operator
        ${param/pat[/string]} 參數模式替換的操作
        expansions to perform substring removal (${p%[%]w}, ${p#[#]w})
         擴展子串刪除命令:(${p%[%]w}, ${p#[#]w})
        expansion of positional parameters beyond $9 with ${num}
        擴展了為止參數超過9的限制
        variables: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY,
                   TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
                   LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
                   ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
                   HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
                   PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
                   SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,
                   auto_resume
        上邊一堆的環境變量
        DEBUG trap
        ERR trap
        調試和錯誤陷阱
        variable arrays with new compound assignment syntax
         數組和復合賦值運算符的語法規則
        redirections: >, >, >|, , [n]word-, [n]>word-
         重定向規則: >, >, >|, , [n]word-, [n]>word-
        prompt string special char translation and variable expansion
        提示字符串特殊字符的轉化和變量展開
        auto-export of variables in initial environment
        自動繼承初始化的環境變量
        command search finds functions before builtins
        命令搜查函數限于內建命令
        bash return builtin will exit a file sourced with `.'
        bash返回內建命令 將退出一個.文件源
        builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.
                  export -n/-f/-p/name=value, pwd -L/-P,
                  read -e/-p/-a/-t/-n/-d/-s/-u,
                  readonly -a/-f/name=value, trap -l, set +o,
                  set -b/-m/-o option/-h/-p/-B/-C/-H/-P,
                  unset -f/-v, ulimit -m/-p/-u,
                  type -a/-p/-t/-f/-P, suspend -f, kill -n,
                  test -o optname/s1 == s2/s1 s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S
        上邊一堆內建命令
        bash reads ~/.bashrc for interactive shells, $ENV for non-interactive
        bash reads這樣寫交互腳本,環境變量非交互的。
        bash restricted shell mode is more extensive
        bash更廣泛的受限模式
        bash allows functions and variables with the same name
        允許函數名變量名一樣
        brace expansion
        括號擴展
        tilde expansion
        ~波浪號擴展
        arithmetic expansion with $((...)) and `let' builtin
        算術擴展:$((...)) 和let命令
        the `...' extended conditional command
        `...` 命令擴展
        process substitution
        進程替換
        aliases and alias/unalias builtins
        別名的內建命令
        local variables in functions and `local' builtin
        函數內本地變量
        readline and command-line editing with programmable completion
        讀取行和命令行可以編程完成
        command history and history/fc builtins
         查看歷史命令
        csh-like history expansion
        other new bash builtins: bind, command, compgen, complete, builtin,
                                 declare/typeset, dirs, enable, fc, help,
                                 history, logout, popd, pushd, disown, shopt,
                                 printf
         上邊一堆新的bash內建命令。
        exported functions
        filename generation when using output redirection (command >a*)
        重定向輸出文件名的生成
        POSIX.2-style globbing character classes
        POSIX.2-style globbing equivalence classes
        POSIX.2-style globbing collating symbols
        POSIX.2風格的通配符類、等價類、通配符號
        egrep-like extended pattern matching operators
        case-insensitive pattern matching and globbing
        不區分大小寫的模式匹配和通配符
        variable assignments preceding commands affect only that command,
                even for builtins and functions
        變量賦值前的命令只影響那個命令,包括內建命令和函數
        posix mode
        redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr,
                /dev/tcp/host/port, /dev/udp/host/port
        debugger support, including `caller' builtin and new variables
        調試支持,包括caller內建命令和新變量
        RETURN trap

 
Things sh has that bash does not:
下邊是sh有但是bash木有的
        uses variable SHACCT to do shell accounting
        includes `stop' builtin (bash can use alias stop='kill -s STOP')
        `newgrp' builtin
        turns on job control if called as `jsh'
        $TIMEOUT (like bash $TMOUT)
        `^' is a synonym for `|'
        new SVR4.2 sh builtins: mldmode, priv

Implementation differences:
執行情況的不同:
        redirection to/from compound commands causes sh to create a subshell
        bash does not allow unbalanced quotes; sh silently inserts them at EOF
        bash does not mess with signal 11
        sh sets (euid, egid) to (uid, gid) if -p not supplied and uid 100
        bash splits only the results of expansions on IFS, using POSIX.2
                field splitting rules; sh splits all words on IFS
        sh does not allow MAILCHECK to be unset (?)
        sh does not allow traps on SIGALRM or SIGCHLD
        bash allows multiple option arguments when invoked (e.g. -x -v);
                sh allows only a single option argument (`sh -x -v' attempts
                to open a file named `-v', and, on SunOS 4.1.4, dumps core.
                On Solaris 2.4 and earlier versions, sh goes into an infinite
                loop.)
        sh exits a script if any builtin fails; bash exits only if one of
                the POSIX.2 `special' builtins fails

下邊都和上邊比較雷同了。。。大致瀏覽吧。
C2) How does bash differ from the Korn shell, version ksh88?

Things bash has or uses that ksh88 does not:
        long invocation options
        [-+]O invocation option
        -l invocation option
        `!' reserved word
        arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
        arithmetic in largest machine-supported size (intmax_t)
        posix mode and posix conformance
        command hashing
        tilde expansion for assignment statements that look like $PATH
        process substitution with named pipes if /dev/fd is not available
        the ${!param} indirect parameter expansion operator
        the ${!param*} prefix expansion operator
        the ${param:offset[]} parameter substring operator
        the ${param/pat[/string]} parameter pattern substitution operator
        variables: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, SHLVL,
                   TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE,
                   HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
                   IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
                   PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
                   GROUPS, FUNCNAME, histchars, auto_resume
        prompt expansion with backslash escapes and command substitution
        redirection: > (stdout and stderr), , [n]word-, [n]>word-
        more extensive and extensible editing and programmable completion
        builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,
                  exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,
                  jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,
                  read -e/-p/-a/-t/-n/-d/-s, readonly -a/-n/-f/-p,
                  set -o braceexpand/-o histexpand/-o interactive-comments/
                  -o notify/-o physical/-o posix/-o hashall/-o onecmd/
                  -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,
                  typeset -a/-F/-p, ulimit -u, umask -S, alias -p, shopt,
                  disown, printf, complete, compgen
        `!' csh-style history expansion
        POSIX.2-style globbing character classes
        POSIX.2-style globbing equivalence classes
        POSIX.2-style globbing collating symbols
        egrep-like extended pattern matching operators
        case-insensitive pattern matching and globbing
        `**' arithmetic operator to do exponentiation
        redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr
        arrays of unlimited size
        TMOUT is default timeout for `read' and `select'
        debugger support, including the `caller' builtin
        RETURN trap
        Timestamps in history entries
        {x..y} brace expansion

Things ksh88 has or uses that bash does not:
        tracked aliases (alias -t)
        variables: ERRNO, FPATH, EDITOR, VISUAL
        co-processes (|, >p, p)
        weirdly-scoped functions
        typeset +f to list all function names without definitions
        text of command history kept in a file, not memory
        builtins: alias -x, cd old new, newgrp, print,
                  read -p/-s/var?prompt, set -A/-o gmacs/
                  -o bgnice/-o markdirs/-o trackall/-o viraw/-s,
                  typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-l/-u/-t, whence
        using environment to pass attributes of exported variables
        arithmetic evaluation done on arguments to some builtins
        reads .profile from $PWD when invoked as login shell

Implementation differences:
        ksh runs last command of a pipeline in parent shell context
        bash has brace expansion by default (ksh88 compile-time option)
        bash has fixed startup file for all interactive shells; ksh reads $ENV
        bash has exported functions
        bash command search finds functions before builtins
        bash waits for all commands in pipeline to exit before returning status
        emacs-mode editing has some slightly different key bindings

 
C3) Which new features in ksh-93 are not in bash, and which are?

New things in ksh-93 not in bash-3.0:
        associative arrays
        floating point arithmetic and variables
        math library functions
        ${!name[sub]} name of subscript for associative array
        `.' is allowed in variable names to create a hierarchical namespace
        more extensive compound assignment syntax
        discipline functions
        `sleep' and `getconf' builtins (bash has loadable versions)
        typeset -n and `nameref' variables
        KEYBD trap
        variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version,
                   .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT
        backreferences in pattern matching (\N)
        `' operator in pattern lists for matching
        print -f (bash uses printf)
        `fc' has been renamed to `hist'
        `.' can execute shell functions
        exit statuses between 0 and 255
        `+=' variable assignment operator
        FPATH and PATH mixing
        getopts -a
        -I invocation option
        printf %H, %P, %T, %Z modifiers, output base for %d
        lexical scoping for local variables in `ksh' functions
        no scoping for local variables in `POSIX' functions

New things in ksh-93 present in bash-3.0:
        [n]word- and [n]>word- redirections (combination dup and close)
        for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
        ?:, ++, --, `expr1 , expr2' arithmetic operators
        expansions: ${!param}, ${param:offset[]}, ${param/pat[/str]},
                    ${!param*}
        compound array assignment
        the `!' reserved word
        loadable builtins -- but ksh uses `builtin' while bash uses `enable'
        `command', `builtin', `disown' builtins
        new $'...' and $"..." quoting
        FIGNORE (but bash uses GLOBIGNORE), HISTCMD
        set -o notify/-C
        changes to kill builtin
        read -A (bash uses read -a)
        read -t/-d
        trap -p
        exec -c/-a
        `.' restores the positional parameters when it completes
        POSIX.2 `test'
        umask -S
        unalias -a
        command and arithmetic substitution performed on PS1, PS4, and ENV
        command name completion
        ENV processed only for interactive shells
        set -o pipefail

您可能感興趣的文章:
  • bash shell命令行選項與修傳入參數處理
  • Bash Shell 注釋多行的幾種方法
  • 使用bash shell刪除目錄中的特定文件的3種方法
  • linux BASH shell下設置字體及背景顏色
  • Bash Shell字符串操作小結
  • Bash Shell中Shift用法分享
  • Shell 編程:Bash空格的那點事
  • 讓代碼整潔、過程清晰的BASH Shell編程技巧
  • Bash Shell中忽略大小寫的設置方法
  • shell(bash)下“time” 命令的輸出詳解

標簽:馬鞍山 金昌 許昌 婁底 赤峰 邵陽 巴彥淖爾 淘寶邀評

巨人網絡通訊聲明:本文標題《csh,tcsh,bash,sh等shell的區別》,本文關鍵詞  csh,tcsh,bash,等,shell,的,區別,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《csh,tcsh,bash,sh等shell的區別》相關的同類信息!
  • 本頁收集關于csh,tcsh,bash,sh等shell的區別的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产日韩高清在线| 国产麻豆欧美日韩一区| 国产一区久久久| 91在线视频免费观看| 欧美日韩一区二区三区高清| 日韩一区二区视频| 亚洲欧洲日本在线| 亚洲第一会所有码转帖| 国产精品香蕉一区二区三区| 91在线精品一区二区三区| 欧美日韩国产影片| 国产视频在线观看一区二区三区| 亚洲视频小说图片| 国产综合久久久久久鬼色| 91国偷自产一区二区三区观看| 日韩一区二区麻豆国产| 成人污污视频在线观看| 一区二区三区在线视频免费 | 亚洲成人免费电影| 大白屁股一区二区视频| 欧美一级在线免费| 亚洲成人动漫一区| 一本久久综合亚洲鲁鲁五月天| 久久久久久97三级| 免播放器亚洲一区| 91久久免费观看| 亚洲欧美色综合| 北条麻妃一区二区三区| 日本一区二区三区国色天香 | 亚洲成va人在线观看| 色综合咪咪久久| 亚洲精品日产精品乱码不卡| www.亚洲激情.com| 1024成人网| 欧洲一区在线电影| 亚洲第一成人在线| 在线不卡免费av| 亚洲国产精品一区二区久久 | 欧美久久一二区| 日日夜夜免费精品| 欧美一区二区三区在线观看视频| 岛国精品一区二区| 国产亚洲一区二区三区在线观看| 国产精品一二二区| 国产精品少妇自拍| 色综合中文字幕国产| 亚洲精品你懂的| 欧美色倩网站大全免费| 免费看欧美女人艹b| 久久久久国产精品麻豆ai换脸 | www国产精品av| 99精品视频在线观看免费| 亚洲一区在线观看网站| 欧美群妇大交群中文字幕| 久久国产欧美日韩精品| 亚洲国产高清在线| 欧美亚洲愉拍一区二区| 麻豆中文一区二区| ...xxx性欧美| 欧美本精品男人aⅴ天堂| av电影在线观看一区| 性久久久久久久| 欧美韩日一区二区三区| 日本精品视频一区二区三区| 久久精品国产99久久6| 亚洲人被黑人高潮完整版| 欧美电视剧免费全集观看| 精品卡一卡二卡三卡四在线| 国产成人精品网址| 免费在线看成人av| 亚洲伦理在线免费看| 久久久精品一品道一区| 欧美精品久久久久久久多人混战 | 日韩精品成人一区二区在线| 日韩美女视频一区| 久久久国际精品| 欧美一区二区三区四区五区| 色94色欧美sute亚洲线路一久| 国产曰批免费观看久久久| 亚洲18色成人| 午夜精品国产更新| 亚洲伦理在线免费看| 18成人在线视频| 国产精品美女久久久久久久| 欧美精品一区二区三区高清aⅴ | 欧美电视剧免费全集观看| 欧美系列日韩一区| 欧美三级电影在线看| 91激情五月电影| 欧美又粗又大又爽| 91同城在线观看| 久久精品夜夜夜夜久久| 欧美大片免费久久精品三p| 欧美久久高跟鞋激| 欧美一级国产精品| 日韩女优av电影在线观看| 国产欧美综合在线观看第十页| 国模娜娜一区二区三区| 国产精品综合在线视频| 欧美日韩一区二区在线观看| 久久久久久一二三区| 亚洲精品一区二区三区精华液| 久久众筹精品私拍模特| 国产精品免费视频观看| 亚洲激情在线播放| 五月婷婷综合网| 久久激情五月激情| 国产一区二区三区国产| 99久久精品一区| 欧美天堂一区二区三区| 久久综合久久综合九色| 自拍偷拍亚洲激情| 精品一区二区三区免费播放| 91亚洲精品久久久蜜桃网站 | 粉嫩13p一区二区三区| 欧美午夜不卡在线观看免费| 一区二区三区日韩在线观看| 亚洲国产精品久久人人爱| 国产在线国偷精品免费看| 日本道免费精品一区二区三区| 久久久亚洲精品一区二区三区| 亚洲高清免费视频| 成人h精品动漫一区二区三区| 成人激情动漫在线观看| 99久久777色| 精品福利视频一区二区三区| 国产一区在线看| 国产精品高清亚洲| 91小视频在线| 国产亚洲va综合人人澡精品| 日本不卡视频在线| 制服丝袜亚洲播放| 亚洲成人资源在线| 色噜噜久久综合| 国产精品欧美综合在线| 国产大片一区二区| 国产亚洲人成网站| 成人一区二区三区中文字幕| 国产精品麻豆久久久| 91社区在线播放| 综合欧美一区二区三区| 国产成人免费视| 国产人成亚洲第一网站在线播放| 国产精品一区二区你懂的| 国产日韩欧美在线一区| 99久久er热在这里只有精品15| 国产精品久久久久一区二区三区| 国产成人精品在线看| 亚洲成人福利片| 6080日韩午夜伦伦午夜伦| 老司机精品视频线观看86| 精品国产露脸精彩对白| 成人免费视频caoporn| 亚洲美女电影在线| 欧美一区国产二区| 成人精品在线视频观看| 亚洲午夜电影网| 26uuu色噜噜精品一区二区| 99精品视频一区| 国产精品一区二区免费不卡 | 久久久国产精品麻豆| 国产真实乱子伦精品视频| 久久精品日产第一区二区三区高清版| 成人免费视频网站在线观看| 一区二区三区免费在线观看| 91精品国产综合久久精品图片| 国产精品一卡二卡| 亚洲一区二区欧美日韩| 久久夜色精品一区| 91福利在线看| 国产伦理精品不卡| 亚洲国产成人av网| 久久久久亚洲综合| 欧美在线影院一区二区| 国产精品主播直播| 亚洲一二三级电影| 欧美高清在线精品一区| 亚洲人成在线播放网站岛国| 欧美丰满少妇xxxxx高潮对白| 国产精品99久久久久久似苏梦涵| 亚洲国产精品嫩草影院| 日韩理论片在线| 久久久久高清精品| 91精品国产91综合久久蜜臀| av动漫一区二区| 国产成人精品综合在线观看| 日韩在线卡一卡二| 亚洲激情校园春色| 国产精品久久久久久久久搜平片| 欧美一区在线视频| 欧美日韩免费在线视频| jizzjizzjizz欧美| 久久精品二区亚洲w码| 亚洲精品成a人| 国产欧美精品一区二区三区四区| 欧美大度的电影原声| 日韩视频在线你懂得| 777欧美精品| 日韩精品在线一区| 欧美一区三区二区|