赞
踩
;
)将多个命令放在同一行中,使它们依次执行。#!/bin/bash
。这里#
用于注释,但第一行是例外,!
告诉Shell使用哪个解释器来运行脚本。Permission denied
错误,需要为文件添加执行权限,通常使用chmod +x 脚本文件名
命令。echo
命令默认在显示文本后换行。使用-n
选项可以阻止换行,使文本字符串和后续命令输出显示在同一行中。Shell脚本是一种强大的自动化工具,允许用户将多个命令组织在一起,处理命令输出,并通过文本消息向用户反馈脚本的执行情况。创建Shell脚本时,需要指定解释器并赋予文件执行权限。通过echo
命令,可以方便地在脚本执行过程中向用户显示信息。
$
符号引用。=
)将值赋给用户变量,但等号两边不能有空格。$
符号引用变量。`
)或$()
格式实现。>
)将命令的输出重定向到文件中。如果文件已存在,则会被覆盖。>>
)将命令的输出追加到文件的末尾,而不是覆盖原有内容。<
)将文件的内容作为命令的输入。<<
)后跟一个文本标记来在命令行中直接指定输入数据,直到再次遇到相同的文本标记为止。wc
命令用于计数文本的行数、词数和字节数,可以通过输入输出重定向来处理文件或内联数据。|
)用于将一个命令的输出直接作为另一个命令的输入,无需使用临时文件。more
命令,以便分页查看。通过这些机制,Shell脚本能够灵活地处理数据、控制命令的执行流程,并实现复杂的自动化任务。
练习2:•查看当前系统的所有用户基本信息,使用重定向命令,将查看结果保存为 username.txt文件。
•使用 wc和重定向命令,查看 username.txt中的文本行数。
•查看当前系统的所有用户基本信息,不通过重定向的方式,直接查看文本行数。
expr
命令进行数学运算expr
是一个用于执行基本数学运算的命令行工具。expr
时,数学表达式中的某些字符(如星号*
用于乘法)可能需要通过转义字符\
进行转义,因为在Shell中这些字符可能有特殊的含义。expr 3 \* 4
(注意星号前的反斜杠)。expr
还可以用于执行更复杂的表达式,但语法可能相对繁琐,且对空格和特殊字符的处理需要特别注意。$((expression))
进行数学运算$((expression))
是Bash Shell中用于执行算术扩展的一种更简洁、更强大的方式。echo $((3 + 4))
。expr
相比,$((expression))
语法更简洁,功能更强大,因此在编写Shell脚本时更受推荐。 练习3:•在shell脚本中用方括号执行以下数学运算
•100*(50-45)
•100/52
•观察输出结果
#
或C语言风格的/* ... */
开始的行)。if-then
语句)。-q
选项:在启动时不显示bc的冗长欢迎信息。scale
变量:控制计算结果的小数位数,默认值为0(即整数)。$(...)
)的方式,可以将bc命令的输出赋值给变量。这允许你在bash脚本中执行复杂的数学运算,并将结果用于脚本的其他部分。0
表示成功,非0
值表示发生了某种错误或异常情况。$?
:Linux提供了一个特殊的变量$?
,用于保存上一个已执行命令的退出状态码。通过在命令后立即访问$?
变量,脚本可以获取该命令的退出状态码,并根据需要进行后续处理。0
),则脚本也会成功退出;如果最后一个命令失败(返回非0
值),则脚本也会以相应的非0
值退出。exit
命令:exit
命令允许脚本在结束前显式地指定一个退出状态码。这个命令可以接受一个可选的参数作为退出状态码,如果不提供参数,则默认使用0
作为退出状态码。通过在脚本的适当位置使用exit
命令,脚本可以在完成其任务后提前退出,并返回一个有意义的退出状态码给调用者。练习5:•针对某脚本文件,指定一个退出状态码。
•运行后,查询其退出状态码,并对其状态进行描述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。