藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教幾句shell的意思

看shell腳本, 有幾個地方不太明白, 請大家指點!
[code]
askpass() {
        set -o noglob
        stty -echo
        read resp?"$1 "
        stty echo
        set +o noglob
        echo
}
[/code]

上面中的:
[code]
read resp?"$1 "
[/code]
怎麼理解?

還有一個是:
[code]
ask_which() {
        local _name=$1 _query=$2 _devs=$3 _defdev=$4 _err=$5

        set -- $_devs
        if [[ $# -lt 1 ]]; then
                echo "${_err:=No ${_name}s found}."
                resp=done
                return
        fi
        : ${_defdev:=$1}

        _devs="$*"

        while : ; do
                ask "Available ${_name}s are: ${_devs}.\nWhich one ${_query}? (or 'done')" "$_defdev"
                [[ $resp == done ]] && break

                if isin "$resp" $_devs; then
                        makedev $resp && break
                else
                        echo "'$resp' is not a valid choice."
                fi
        done
}
[/code]
上面中這一行怎麼理解:
[code]
set -- $_devs
[/code]
set --這個我就明白, 但上面這個就不知了!

初學shell, 請大家指點一下!

thanks!

請教幾句shell的意思

[code]
read resp?"$1 "[/code]
等同於
[code]
echo -n "$1 "
read resp[/code]
正宗的說,這個叫"read-prompt",是一個帶提示選項的read.

請教幾句shell的意思

set -- $_devs
-- 表示關掉開關。也就是如果$_devs中包含減號(-)開頭的單詞,不把它視為開關。

請教幾句shell的意思

-->

如果$_devs="_ne3"
那就表示不把它視為開關? 剛學, 對shell太多不解!

謝謝兩位指點! :em03:  :em03:

請教幾句shell的意思

-->
rainren兄的大作,小弟也曾拜讀 ;)



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com