|
藍森林 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兄的大作,小弟也曾拜讀 ;) |
| |