Bash: array contains element
function containsElement() { local n=$# # number of arguments local value=${!n} # last of arguments echo "${@:2}" echo "${@:0}" echo number of arguments $# for ((i=0;i<=$#;i++)) { echo $i ${!i} if [ "${!i}" == "${value}" ]; then echo $value == ${!i} #return 0 fi } return 2 } A=("one" "two" "three four") if containsElement "${A[@]}" one; then echo one in ${A[@]} fi
$0 为脚本文件,$1 - $# 为传递给脚本的参数
function containsElement() { local n=$# # number of arguments local value=${!n} # last of arguments echo "${@:2}" echo "${@:0}" echo number of arguments $# for ((i=0;i<=$#;i++)) { #echo $i ${!i} if [ "${!i}" == "${value}" ]; then #echo $value == ${!i} return 0 fi } return 2 } A=("one" "two" "three four") if containsElement "${A[@]}" one; then echo one in ${A[@]} fi
2: argument1 为待检测元素
function containsElement() { for item in "${@:2}"; do [[ "$item" == "$1" ]] && return 0 done return 5 } A=("one" "two" "three four") if containsElement "three four" "${A[@]}"; then echo in fi
3:
function containsElement() { local value=$1 shift for item in "${@:1}"; do [[ "$item" == "$value" ]] && return 0 done return 5 } A=("one" "two" "three four") if containsElement "three four" "${A[@]}"; then echo in fi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-08-15 Install Docker & Kubernetes
2020-08-15 CMD取时间戳作为文件名后缀