sh 不像 bash 和 ksh 那样可以非常方便的定义和使用数组,但是可以通过其它方式来模拟数组。
【方法1】通过 set 命令和位置参数来模拟数组
# 定义数组 set 'word 1' word2 word3 # 输出数组的第一个元素 echo $1 # 输出数组的第二个元素 echo $2 # 输出数组的第三个元素 echo $3 # 输出数组的所有元素 echo $* echo $@ # 向数组中增加一个元素 set -- "$@" word4 echo $4 # 查看数组元素的个数 echo $# # 遍历数组元素 for i in do "$@"; do echo "$i" done # 从数组中删除一个元素 shift echo $@ # 删除数组的所有元素 set x; shift
【方法2】使用 eval 命令模拟数组
定义数组并遍历数组元素:
#!/bin/sh eval a1=word1 eval a2=word2 eval a3=word3 for i in 1 2 3; do eval echo "The $i element of array is: \$a$i" done
根据用户输入的一句话来定义数组并遍历数组元素:
#!/bin/sh echo "Enter the sentence:" read str n=0 for word in $str; do n=`expr $n + 1` eval a$n="$word" eval echo "The $n element of array is: \$a$n" done
本文向大家介绍C#数组排序的两种常用方法,包括了C#数组排序的两种常用方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#数组排序的两种常用方法。分享给大家供大家参考。具体如下: 1.第一个例子 定义代码 测试代码 1.第二个例子 定义代码 测试代码 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍详解shell中脚本参数传递的两种方式,包括了详解shell中脚本参数传递的两种方式的使用技巧和注意事项,需要的朋友参考一下 方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数,但是一般很少会超过
本文向大家介绍Shell脚本中调用、引用、包含另外一个脚本文件的两种方法,包括了Shell脚本中调用、引用、包含另外一个脚本文件的两种方法的使用技巧和注意事项,需要的朋友参考一下 脚本 first (测试示例1) 问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) 方法二: 使用 . 脚本 second (测试示例3) source f
本文向大家介绍Numpy数组转置的两种实现方法,包括了Numpy数组转置的两种实现方法的使用技巧和注意事项,需要的朋友参考一下 Numpy数组转置很容易,两种写法 但是一维数组转置的时候有个坑,光transpose没有用,需要指定shape参数 输出结果为 可见原本一维数组的shape第二的纬度那个1是空的,指定了以后才能顺利地讲行向量转为列向量 以上这篇Numpy数组转置的两种实现方法就是小编分
本文向大家介绍JavaScript数组去重的两种方法推荐,包括了JavaScript数组去重的两种方法推荐的使用技巧和注意事项,需要的朋友参考一下 1、数组去重; Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: 方法一:利用indexOf方法; 方法二: 方法二,总体思路是把数组元素逐个搬运到另一个数组,搬运的过程中检查这个元素是否有重复,如果有就直接丢掉。从嵌
本文向大家介绍shell脚本使用两个横杠接收外部参数的方法,包括了shell脚本使用两个横杠接收外部参数的方法的使用技巧和注意事项,需要的朋友参考一下 首先,效果是这样的: 既可以处理短选项(-)又可以处理长选项(--) shell脚本接外部参数有一种很简单的办法,在脚本中使用$0,$1,$2...指代执行脚本时传入的第几个参数($0是脚本名)。 但是,这样做毕竟不够优雅, 另一种方法shell脚