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


    

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


請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

請教一個 shell script 的實現方法:

該 script 可以接受任何數量的命令行參數。

要求輸出其中第一個不是以 - (中劃線)開頭的命令行參數

用 Bourn Shell 實現。

謝謝!

請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

[code]#!/bin/sh
#ts305.sh
#echo "totle args $#"
#echo $@
#echo "=========================="
while [ $# -ne 0 ]
do
if [ ! -z `echo $1 |grep '^-'` ]
then
echo $1
fi
shift
done[/code]

[b]or[/b]

[code]#!/bin/sh
#ts305.sh
#echo "totle args $#"
#echo $@
#echo "=========================="
while [ $# -ne 0 ]
do
if [ -z `echo $1 |grep -v '^-'` ]
then
echo $1
exit 0
fi
shift
done[/code]

請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

#! /bin/sh
if [ $# -lt 1 ] ; then
echo "Usage: $0 ........"
exit 1
fi
case "$1" in
   -*) do your staff here ;;
    *) .......... ;;
esac

Is this ok?

請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

[code]while [ "$1" == -* ]; do shift; done
if [ $# -gt 0 ]; then echo "$1"; fi
[/code]

請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

採用 twf_cc  的方法。

請教一個 shell script: 輸出第一個不是以 - 開頭的命令行參數

twf_cc 的方法可能沒辦法處理多個 parameter 哦...
如 x -y z 這類的.
用 aerofox 的試試吧.



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