shell 中有很多特殊字符,比如表示转义的“\”、表示命令替换的“`”等,其中有些用得少了就很容易忘记,包括某个字符或是某个功能等的用法。以下是本人自己的备忘录,仅供参考。
1、“:”(冒号):等价于"no op",是一个什么也不干的命令, 同shell 内建命令 true 的作用相同。可用来作命令占位符。具体用法如下。
# 1)用在循环中
while : # 同:while true
do
operation
done
# 2)在 if/then 中的占位符
if condition
then : # 什么都不做,引出分支
else
take-some-action
fi
# 3)在参数替换中
: ${HOSTNAME?} ${USER?} ${MAIL?} # 如果有任何一个环境变量没被设置则打印错误信息
# 4)同重定向操作符结合(这只适用于正规文件,而不适用于管道、符号链接等特殊文件)
: > data.xxx
# 清空文件“data.xxx”,同 cat /dev/null >data.xxx,不过不会产生一个新的进程,因
# 为“:”是一个内建命令
2、“?”:除了常用的作为测试操作符、三元操作符,以及用在通配符和正则表达式中以外,还可以用来测试一个变量是否被设置了,用法见上面“:”用于参数替换的情况。
3、“$*”和“$@”:表示引用所有位置参数。
4、“$$”:进程 ID 变量。
5、“(xx; yy; ...)”:在一个子 shell 中运行。由于是在子 shell 中,所以括号中的变量对于外界来说是不可用的。
a=123
(a=233; echo $a) # 233
echo $a # 123
6、“{xx, yy, ...}”:作笛卡尔扩展。其中不允许有空白,除非这个空白被引用或转义。
cat {f1,f2,f3} >combfile # 把 f1、f2 和 f3 连接在一起,并重定向到 comfile 中
cp file.{txt,backup} # 同:cp file.txt file.backup
echo {f1,f2}\ :{\ a," b"," c"} # f1 : a f1 : b f1 : c f2 : a f2 : b f2 : c
7、“{ code block }”:当大括号里面包含代码块时(注意代码块两边要有空格),它相当于创建了一个匿名函数,只是在其中声明的变量在大括号外部也是可见的。此外,它不会像上面的“(xx; yy; ...)”一样会开启一个子 shell。
$ a=123
$ { a=321; } # 注意代码块两边要有空格
$ echo $a # 321
$ cat rpm-check.sh
#!/bin/bash
err_noargs=65
if [ -z "$1" ]; then
echo "Usage: `basename $0` rpm-file"
exit $err_noargs
fi
{
echo "Archive Description:"
rpm -qpi $1 # 查询说明
echo "Archive Listing:"
rpm -qpl $1 # 查询列表
rpm -i --test $1 # 查询rpm包是否可以被安装
success=0
if [ "$?" -eq $success ]; then
echo "$1 can be installed."
else
echo "$1 cannot be installed"
fi
} > "$1.test" # 将查询结果保存到一个文件
echo "Results of rpm test in file $1.test"
exit 0
8、“[i]<>filename”:打开 filename 用来读写,并可选地分配文件描述符 i 给该文件。如果该文件不存在,则会被创建。
9、“\<”、“\>”:正则表达式中的单词边界,如:grep '\<the\>' textfile。
分享到:
相关推荐
对于包含特殊字符(尤其是元字符)的分隔符,正确处理它们是至关重要的,否则可能导致意想不到的结果。本文将深入探讨如何使用`preg_split()`函数正确地分割特殊字符,特别是元字符。 首先,元字符是正则表达式中...
确保选择一个强大且难以猜测的密码,包括大小写字母、数字和特殊字符的组合。 5. **安全注意事项**:重置密码后,务必删除或移动resetpw.php文件,以防止其他人利用这个暴露的入口重置密码。同时,更新任何备份或...
在C语言中,字符串是字符数组的特殊形式,通常以空字符'\0'作为结束标志。字符串比较是编程中常见的操作,特别是在处理文本数据时。本实例将介绍如何使用C语言的标准库函数来比较字符串。 首先,我们关注的两个主要...
设置一个复杂且独特的密码,包含大写字母、小写字母、数字和特殊字符,这样可以提高网络的安全性。 以上就是处理H3C路由器忘记密码的基本步骤。记住,重置密码后,一定要记录新的密码,并妥善保管,避免再次遗忘。...
- 在设置新密码时,建议采用强密码策略,包括使用大小写字母、数字以及特殊字符等组合,以提高安全性。 - 为了避免忘记密码的情况再次发生,建议定期更改密码,并将其记录在一个安全的地方。 #### 结论 通过上述...
这是一个处理SQL查询中用户输入数据的重要函数,它可以转义特殊字符,如NULL、换行符、回车符、空格以及单引号和双引号,防止SQL注入。需要注意的是,这个函数是为MySQL设计的,随着MySQLi和PDO的推广,现在推荐使用...
在数据结构领域,字符串是一种特殊的数据结构,通常用于表示文本信息。在这个名为“字符串连接实验”的项目中,我们将深入探讨如何使用C语言处理字符串,并利用堆存储方式来实现字符串的操作。C语言没有内置的字符串...
为了防止类似情况再次发生,建议定期更新和记录密码,并确保密码足够复杂,包含大小写字母、数字和特殊字符的组合。此外,可以考虑使用密码管理器来存储和管理复杂的密码,这样即使忘记,也能轻松找回。 总结来说,...
在C语言中,字符串是一种特殊的字符数组,通常以空字符'\0'作为结束标识。处理字符串的操作是编程中常见的任务之一,而“插入字符串”就是这些操作中的一个重要环节。在这个过程中,我们需要理解如何在已有的字符串...
此外,还可以通过“符号”功能插入各种数学符号和特殊字符,满足数学和科学领域的特殊需求。 18. **图片与形状处理**:Word提供了强大的图片和形状处理工具,可以调整图片的亮度、对比度、饱和度等属性,以及应用...
为了提升系统安全性,企业应制定严格的密码策略,包括但不限于定期更换密码、使用复杂度要求(包含字母、数字、特殊字符)、禁止使用常见密码等。同时,对于关键岗位的管理员,应采用双因素认证或多因素认证,提高...
Excel工作表保护密码由字母、数字和特殊字符组成,我们可以通过编写一个宏来循环尝试所有可能的组合,直到找到正确的密码。 11. 在“开发工具”菜单项下,选择“宏”,在打开的“宏”窗口中找到刚刚创建的宏test,...
但若因特殊原因无法通过正常途径找回,例如邮箱失效或未绑定手机号,这时可能就需要借助第三方工具,如本案例中的“dede织梦系统后台密码忘记修改器”。 至于压缩包内的文件“说明.txt”,这很可能包含了如何使用该...
3. **使用组合键进行特殊操作**: - 在输入状态下,同时按下`Ctrl + Alt + Delete`组合键,并连续按下三次。这一步是为了触发一个特殊的登录流程,从而绕过正常的密码验证过程。 4. **登录到Windows提示界面**: ...
从ASCII码的65(大写字母'A')到126(包括空格和特殊字符),它会逐个组合并尝试解锁工作表。一旦找到正确的密码,宏会显示一个消息框,显示找到的密码,并在单元格A1中记录这个密码。如果密码正确,工作表保护将被...
在C语言中,字符串是字符数组的特殊形式,通常以空字符'\0'作为结束标志。本教程将深入探讨如何在C语言中修改字符串,包括基本操作、注意事项以及相关的编程技巧。由于提供的压缩包文件名暗示这是一个四页的C语言...
选择一个既安全又容易记忆的密码,通常应包含大小写字母、数字和特殊字符。 6. **删除脚本**:成功重置密码后,为了保持网站的安全性,记得回到FTP或服务器管理界面,删除已经用过的`nologin.php`文件。这能防止...
为了安全,建议选择一个包含大写字母、小写字母、数字和特殊字符的组合,且长度不少于8位的复杂密码。 5. **确认并保存**:输入新密码后,再次输入以确认无误,然后点击“保存”或“确认”按钮。系统会更新您的密码...
软件分绍: 在软件运维过程中,经理遇到好多客户的数据库SA密码忘记了,...须包含大写、小写、数字和特殊字符,且为8位以上,点确定即可修改成功。 软件价值: 有了这个工具,大大节省了运维的成本,提高了工作效率。
在设置新密码时,建议选择一个既复杂又易于记忆的组合,包括大写字母、小写字母、数字以及特殊字符,这样可以提高账户的安全性。设置好新密码后,点击“提交”按钮,系统会提示你密码重置成功。 至此,你已经成功地...