阅读背景:

linux命令(while,shell参数的用法)

来源:互联网 

#!/bin/bash  
while IFS=: read name1 name2 name3 name4  
#IFS是从文件读取内容时指定的分割符号,将a中的内容以:离开的部份分离赋值给相应变量.  
 do  
 echo $name1 "|" $name2 "|" $name3 "|" $name4  
 done <a  
  
#反引号与$()的功效是命令调换,将反引号或$()中的字符串当作命令来履行,但是反引号中不能持续有反引号,而$()可以有。  
LS=`ls`  
echo $LS  
#单引号完整不解析命令,疏忽所有特别字符串,照字符串原样输出.  
LS="ls"  
echo $LS  
#双引号作用与单引号类似,区分在于它没有那末严厉,在双引号中有3个特别字符不能被疏忽:$,\,`,即单引号会说明字符串的特别意思,而单引号直接应用。  
LS="ls"  
echo $LS  
#不过如果应用eval命令,会让双引号中的命令得到说明。  
LS="ls"  
eval "$LS"  
  
set -- 1 2 3 4   
#设置参数,与c的main中的2个参数一样。  
  
while [ $# -gt 0 ]  
# $#代表参数总数  
do  
    echo 
          

#!/bin/bash  
while IFS=: read name1 name2 name3 name4  
#IFS是从文件读取内容时指定的分割符号,将a中的内容以:离开的部份分离赋值给相应变量.  
 do  
 echo $name1 "|" $name2 "|" $name3 "|" $name4  
 done <a  
  
#反引号与$()的功效是命令调换,将反引号或$()中的字符串当作命令来履行,但是反引号中不能持续有反引号,而$()可以有。  
LS=`ls`  
echo $LS  
#单引号完整不解析命令,疏忽所有特别字符串,照字符串原样输出.  
LS="ls"  
echo $LS  
#双引号作用与单引号类似,区分在于它没有那末严厉,在双引号中有3个特别字符不能被疏忽:$,\,`,即单引号会说明字符串的特别意思,而单引号直接应用。  
LS="ls"  
echo $LS  
#不过如果应用eval命令,会让双引号中的命令得到说明。  
LS="ls"  
eval "$LS"  
  
set -- 1 2 3 4   
#设置参数,与c的main中的2个参数一样。  
  
while [ $# -gt 0 ]  
# $#代表参数总数  
do  
    echo $1 #输出第一个参数  
    shift 1 #将参数个数减1,并且都向1移动一名,也能够设置2,一次移动2位,相当与i--,i是参数总个数。  
done  
  
#-gt大于  
#-lt小于  
#-ge大于等于  
#-le小于等于  
#-eq等于  
#-ne不等于  
  
#在脚本里面可以用$1,$2...来接收参数,但是还有另外一种方法可以接收参数,那就是getopts。  
while getopts abc opt   
#./main.sh -a -b -c 便可以够指定参数然后履行相干命令  
do  
    case $opt in  
        a)  
        echo "abcd"  
        ;;  
      b)  
        echo "1234"  
        ;;  
        c)  
        echo "ABCD"  
        ;;  
        *)  
        echo "****"  
        ;;  
    esac  
done  

#输出第一个参数 shift 1 #将参数个数减1,并且都向1移动一名,也能够设置2,一次移动2位,相当与i--,i是参数总个数。 done #-gt大于 #-lt小于 #-ge大于等于 #-le小于等于 #-eq等于 #-ne不等于 #在脚本里面可以用

#!/bin/bash  
while IFS=: read name1 name2 name3 name4  
#IFS是从文件读取内容时指定的分割符号,将a中的内容以:离开的部份分离赋值给相应变量.  
 do  
 echo $name1 "|" $name2 "|" $name3 "|" $name4  
 done <a  
  
#反引号与$()的功效是命令调换,将反引号或$()中的字符串当作命令来履行,但是反引号中不能持续有反引号,而$()可以有。  
LS=`ls`  
echo $LS  
#单引号完整不解析命令,疏忽所有特别字符串,照字符串原样输出.  
LS="ls"  
echo $LS  
#双引号作用与单引号类似,区分在于它没有那末严厉,在双引号中有3个特别字符不能被疏忽:$,\,`,即单引号会说明字符串的特别意思,而单引号直接应用。  
LS="ls"  
echo $LS  
#不过如果应用eval命令,会让双引号中的命令得到说明。  
LS="ls"  
eval "$LS"  
  
set -- 1 2 3 4   
#设置参数,与c的main中的2个参数一样。  
  
while [ $# -gt 0 ]  
# $#代表参数总数  
do  
    echo $1 #输出第一个参数  
    shift 1 #将参数个数减1,并且都向1移动一名,也能够设置2,一次移动2位,相当与i--,i是参数总个数。  
done  
  
#-gt大于  
#-lt小于  
#-ge大于等于  
#-le小于等于  
#-eq等于  
#-ne不等于  
  
#在脚本里面可以用$1,$2...来接收参数,但是还有另外一种方法可以接收参数,那就是getopts。  
while getopts abc opt   
#./main.sh -a -b -c 便可以够指定参数然后履行相干命令  
do  
    case $opt in  
        a)  
        echo "abcd"  
        ;;  
      b)  
        echo "1234"  
        ;;  
        c)  
        echo "ABCD"  
        ;;  
        *)  
        echo "****"  
        ;;  
    esac  
done  

,...来接收参数,但是还有另外一种方法可以接收参数,那就是getopts。 while getopts abc opt #./main.sh -a -b -c 便可以够指定参数然后履行相干命令 do case $opt in a) echo "abcd" ;; b) echo "1234" ;; c) echo "ABCD" ;; *) echo "****" ;; esac done #!/bin/bash while IFS=: read name1 name2 name3 n




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: