shift_循环获取位置参数

 ①shift命令会重新分配位置参数, 其实就是把所有的位置参数都向左移动一个位置.
  $1  < --- $2 , $2 < --- $3 , $3 < --- $4 , 等等.
 原来的$1 就消失了, 但是$0 (脚本名)是不会改变的 . 如果传递了大量的位置参数到脚本中, 那么shift命令允许你访问的位置参数的数量超过10 个, 当然{}标记法也提供了这样的功能.

②shift命令执行以后, $@ 将会保存命令行中剩余的参数, 但是没有之前的$1 , 因为被丢弃了.
  每次"shift" 都会丢弃$1.
 "$@" 将包含剩下的参数.

③位置参数变量:$1 ,$2 ...$9 , ${10},${11}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

------------------>while + shift! 方法1!循环获取位置参数!
while (( $# > 0 ))
do
    echo $1;
    shift;
done
----------------->for 循环!方法二
#"$@" -nice--->代表就是参数列表!
for i in "$@"
do
    echo $i;
done
------------------>!i 间接引用! 方法三
i=1;
while (( i <= $# ))
do
   echo ${!i}; # 间接引用! 直接 $1 这样处理会出问题,不加 ! ,输出的就是数字!??因为外面的参数是i 的值,而我们需要使用i,需要 ! 间接引用!
   let i++;
   # (( i++ ))  (( )) 的运算速度快一些!?
done

----------------->两次间接变量应用! 方法四 (独创喔,也就瞎折腾)
#!/bin/bash
# 间接变量引用

i=1;
while (( i <= $# ))
do
  j=i
  eval j=\$$j       # 直接对变量i间接引用的话,不好自加操作了!
  eval j=\$$j
  echo $j;
  let i++;
done

Eval的简单了解可以看笔者之前的博文!

时间: 2024-09-21 11:33:40

shift_循环获取位置参数的相关文章

C#实现循环获取网页相关内容

问题描述 C#中网络编程,针对某个网站,循环获取特定内容,需不需要分析网络数据,构造数据包,再进行编程?还是类似数据库,可以有固定指令,可以通过程序发送给网站?例如:该网站提供输入手机号,可以查询该手机号相关信息的功能,并在页面显示,目前我有一堆手机号码,想获取这些号码的归属地信息,并存入本地,怎么通过C#编程实现,运行程序即可获取相关信息,而无需打开网页,一个接一个输入号码查询.思想,实现或资料都可 解决方案 解决方案二:webrequest模拟post或get请求,对结果进行判断解决方案三:

循环获取分组后的孩子数值

问题描述 求助,求助Devexpress如何循环获取分组后的申请量,求助求助.新手哈谢谢帮忙 解决方案 解决方案二:引用楼主yt_wasion的回复: 求助,求助Devexpress如何循环获取分组后的申请量,求助求助.新手哈谢谢帮忙 人呢,人呢?出来帮忙了!解决方案三:你能把问题描述得详细点吗?问题又描述得不详细,测试数据也没,怎么帮你解答..真郁闷解决方案四:自己循环累加是一个办法或者你获取数据的时候直接在SQL语句里做好,直接从数据库读出来解决方案五:用代码实现:先将所有(不重复)材料名称

easyui中combotree循环获取父节点至根节点并输出路径实现方法_jquery

前台页面: <pre name="code" class="html"><td style="height: 35px" colspan="7"> <input id="fm_AEType" class="easyui-combotree" style="width: 240px" /> <label id="fm_

用js的for循环获取radio选中的值_javascript技巧

例如: 复制代码 代码如下: <li><input type="radio" name="zt" value="1"></li> <li><input type="radio" checked="checked" name="zt" value="2"></li> <li><in

JQuery对checkbox操作 (循环获取)_jquery

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DemoCheckBox.aspx.cs" Inherits="DemoCheckBox" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

C# datagridview循环获取条件问题求解!!

问题描述 publicpartialclassForm2:Form{stringCSstring,sqlupdate1,sqlupdate2,s;OleDbConnectionconn=newOleDbConnection();OleDbDataAdapteradap=newOleDbDataAdapter();DataSetds=newDataSet();publicForm2(){InitializeComponent();CSstring="Provider=Microsoft.ACE.O

PHP循环获取GET和POST值的代码_php技巧

复制代码 代码如下: if(is_array($HTTP_GET_VARS))     {         foreach($HTTP_GET_VARS as $key=>$value)         {             if(is_array($HTTP_GET_VARS[$key]))             {                 foreach($HTTP_GET_VARS[$key] as $key2=>$value2)                 {   

jquery异步循环获取功能实现代码_jquery

html代码: 复制代码 代码如下: <table id="repTable"--> -- <span id="<%# Eval("Id") %>" class="address"></span> </table> jquery代码: 复制代码 代码如下: $(document).ready(function(){ $("#repTable span.add

SHELL小总结

Where there is a shell, there is a way. SHELL Scripts Programming bash (CentOS) shell? where is shell? 常见的shell种类 cat /etc/shellschsh -lls /bin/*sh ls /sbin/nologinrpm -ivh tcsh ksh 4. shell环境的切换 临时切换:ps u #ps auxpstree | grep "sh"kshcsh echo $S