使用场景:有很多任务,要能实现执行其中一个任务,也要能实现执行这个任务的其余任务
我开始用数组实现的版本:
如果前缀是!表示取反
array=(MingXingLian XmxcdjX guanfang myFastAPP myFeiYung myLingyw myXiZang myXinJ myYuePai myYuesou mybuluo myfenxiang mymv mymydj mywozuiniu myyueting myzhyx mydzbfq)
function del_array {
for (( i = 0 ; i < ${#array[@]} ; i++ ))
do
if [ "$1" == "${array[$i]}" ] ;then
del_array_index $i
break
fi
done
}
function del_array_index {
array=(${array[@]:0:$1} ${array[@]:$(($1 + 1))})
}
product=$1
if [ ${product} ] && [ ${product:0:1} = "!" ]; then
product="${product:1}"
del_array $product
elif [ ${product} ]; then
array=(${product[@]})
fi
echo " final product is ${array[@]}"
修改后直接在使用场景判断的版本:
array=(MingXingLian XmxcdjX guanfang myFastAPP myFeiYung myLingyw myXiZang myXinJ myYuePai myYuesou mybuluo myfenxiang mymv mymydj mywozuiniu myyueting myzhyx mydzbfq)
product=$1
reverse=$2
for one in ${array[@]}
do
if [ ${reverse} ]; then
if [ ${product} = ${one} ]; then
continue
fi
elif [ ${product} != ${one} ]; then
continue
fi
#具体的实现的地方
done
分享到:
相关推荐
"脚本文本取反"这一主题涉及到的是如何通过编写脚本来实现对文本内容的反转操作。这里的"取反"通常意味着将文本中的字符顺序颠倒,这在各种场景中都有应用,比如调试、数据处理或者简单的字符串操作。 首先,我们要...
在本例中,我们将探讨如何利用VBScript创建对象并使用StrReverse方法来实现字符串顺序的反转功能。这个技术常用于简单的自动化任务或者在网页交互中,尤其是在早期的ASP(Active Server Pages)开发中。 首先,让...
`umask`的计算方式是取反并加7,所以`002`取反加7得到`664`(二进制的`002`对应十进制的2,取反为`111`,加7即`111+010=111`,转换为八进制就是`664`)。 接下来,我们讨论`ln`命令,它用于创建链接。`ln source...
`|`管道符能将一个命令的输出作为另一个命令的输入,实现命令链式执行。 综上所述,“Shell变量与常用符号1”涵盖了Shell编程的基础,学习这些知识将有助于理解并编写更复杂的自动化脚本,提高工作效率。通过实践和...
- `grep`命令:用于在文件中搜索匹配的行,支持多个选项,如`-i`忽略大小写,`-v`取反匹配,`-w`匹配整个单词,`-q`静默模式。 - 正则表达式:提供了一种强大的字符匹配语言,如`*`匹配零或多个前一个字符,`.`...
通过熟练掌握这些条件判断和逻辑运算,你可以编写复杂的Shell脚本来实现自动化任务,如文件管理、用户验证、系统监控等。记得在编写脚本时,使用`bash -x`来追踪脚本的执行过程,便于调试和理解代码的运行逻辑。在...
通过合理运用这些运算符,可以实现对文件、目录、权限以及其他系统资源的状态检测,从而编写出更加灵活和高效的Shell脚本。 #### 二、逻辑运算符分类 Linux Shell 中的逻辑运算符主要分为以下几类: ##### 1. ...
在实际应用中,正则表达式通常用于grep、sed、awk等命令,以实现高级文本匹配和处理,如检测IP地址、文件名等是否符合特定格式。而通配符则常用于文件名的模糊匹配,如`ls -l *.txt`列出所有扩展名为.txt的文件。 ...
使用`\和`\>`可以实现精确匹配单词边界,如`\<the\>`只匹配单词`the`,而不匹配`there`或`athe`。 7. **花括号(\{\})**: 花括号用来指定匹配前一个字符的次数。`\{n\}`表示匹配n次,`\{n.\}`表示至少匹配n次,`\...
在这个“易语言-利用创建VBScript对象实现字符串顺序取反例程”中,我们将深入探讨如何利用易语言与VBScript交互,以及如何实现字符串顺序取反的功能。 首先,我们需要理解易语言的基本概念。易语言是一种面向对象...
在Linux shell环境中,test命令...通过了解并运用上述的各种选项和逻辑操作,你可以更精确地控制程序的执行流程,实现更复杂的文件和数据处理任务。在日常工作中,不断实践和学习,你将成为Linux shell脚本编写的大师。
- **全局替换**: 在 `:s` 命令后加上 `/g` 来实现全局替换,例如 `:s/ad/bc/g`。 - **指定范围替换**: 在 `:` 和 `s` 之间加入行号范围,例如 `:1,5s/abc/ddas/g` 表示在第1行至第5行中将 `abc` 替换为 `ddas`。 **...
在这段代码中,`sed` 使用正则表达式 `[^[:alnum:]]` 来匹配所有非字母和非数字的字符,并用空字符串替换它们,实现“过滤”效果。`[^...]'` 表示匹配不在括号内的任何字符,而 `[:alnum:]` 是一个 POSIX 字符类,它...
- **单维度排行榜**:如按金币数量,直接取反作为分数,如`-金币数量`。 ```java public Double getScore(Long oneDayGoldBean) { return -oneDayGoldBean.doubleValue(); } ``` - **多维度排行榜**:如同时...
在Shell脚本编程中,掌握特殊字符的作用至关重要,因为它们能够帮助我们编写更加简洁且高效的脚本。以下是28个特殊字符的主要用途: ...在实际应用中,应根据需求灵活运用这些字符,以实现预期的脚本行为。
- **umask简介**: `umask`用于设定新建文件的默认权限掩码,即新创建的文件权限与`umask`值进行按位取反运算得到最终的权限。 - **umask配置文件**: `/etc/profile`包含了用户的umask设置,当用户登录时会加载此文件...
5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行交互式命令 2.2. 执行脚本 3. Shell的基本语法 3.1. 变量 3.2. 文件名代换(Globbing):* ? [] 3.3. 命令代换:`或 $() 3.4...
通过理解并熟练运用这些`if`参数,你可以编写出更加灵活和智能的Linux shell脚本,实现自动化任务和系统管理。记得在编写脚本时,结合实际需求,选择合适的条件测试和逻辑运算,以确保脚本的正确性和可靠性。
文件状态测试可以通过使用方括号(`[` 和 `]`)来实现。例如: - `-b FILE`:检查文件是否存在且是否是一个块设备文件。 - `-c FILE`:检查文件是否存在且是否是一个字符设备文件。 - `-d FILE`:检查文件是否是一...