bash脚本:如何测试列表成员资格
发布时间:2020-12-16 01:45:35 所属栏目:安全 来源:网络整理
导读:(这是debian挤压amd64) 我需要测试文件是否是文件列表的成员. 这么久我的(测试)脚本是: set -xarray=$( ls )echo $arrayFILE=log.out# This line gives error!if $FILE in $arraythen echo "success!"else echo "bad!"fiexit 0 有任何想法吗? 感谢所有的回
(这是debian挤压amd64)
我需要测试文件是否是文件列表的成员. set -x array=$( ls ) echo $array FILE=log.out # This line gives error! if $FILE in $array then echo "success!" else echo "bad!" fi exit 0 有任何想法吗? 感谢所有的回复.澄清一下:给出的脚本只是一个例子,实际问题更复杂.在最终的解决方案中,它将在循环内完成,因此我需要测试的文件(名称)是否在变量中. 再次感谢.没有我的测试脚本工作,并读取: in_list() { local search="$1" shift local list=("$@") for file in "${list[@]}" ; do [[ "$file" == "$search" ]] && return 0 done return 1 } # # set -x array=( * ) # Array of files in current dir # echo $array FILE="log.out" if in_list "$FILE" "${array[@]}" then echo "success!" else echo "bad!" fi exit 0 解决方法if ls | grep -q -x t1 ; then echo Success else echo Failure fi grep -x只匹配实线,所以ls |如果文件存在,grep -x仅返回一些内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |