shell脚本应用(一)实验示例

本文详细介绍了如何在Centos虚拟机环境下编写Shell脚本,包括重定向输出、输入、错误处理以及管道操作的使用。通过实例展示了如何创建用户、设置密码、安装Apache并验证配置,同时讲解了Shell变量的定义与赋值技巧,如双引号、单引号和反撇号的用法。此外,还涵盖了命令替换和嵌套操作的应用。

实验环境为虚拟机Centos操作系统下的linux

1.编写一个Shell脚本

最后不要忘记为脚本文件添加执行权限

2. 重定向与管道操作

(1)重定向输出

当需要保留目标文件原有的内容时,应改用“>>”操作符号,以便追加内容而不是全部覆盖.如图

 

 

(2)重定向输入 先创建一个用户jerry

在创建一个脚本内同为“123456”

 最后运用重定向输入给永辉jerry添加密码

 (3)错误重定向 错误重定向使用‘2>’ 操作符。执行以下操作可以将使用tar命令进行备份时出现的错误信息保存到error.log文件中.

(4)管道操作 以下操作使用grep命令查询使用/bin/baah作为Shell的用户名称时,会输出符合条件的整行内容,在此基础上可以结合管道操作与awk命令做进一步过滤,只输出用户名和用户和登录Shell列.如图

若要提取跟分区(/)的磁盘使用率,可以执行以下操作。如图

 3.编写一个安装apache的脚本并验证 如图

并为配置文件添加执行权限

 

 执行并验证 

 4.使用shell变量

(1)定义新的变量

定义变量的格式为“变量名=变量值”. 如图定义一个名为“Product”的变量(值为Python)和一个名为“Version”的变量(值为2.7.13)并查看变量的值

 (2)变量赋值的特殊操作

双引号  双引号主要起界定字符串的作用,特别是当要赋值的内容包含空格时,必须以双引号括起来,其他情况下双引号通常可以省略。例如将Python 2.7.13赋值变量PTTHON,应执行Python=“python 2.7.13”操作. 如图  此操作分别时正确的赋值和错误的赋值

在双引号范围内,使用“$” 符号可以引用其他变量的值(变量引用),从而能够直接调用现有变量的值,例如执行以下操作可以调用变量Version的值,将其赋给一个新的变量SQLserver,最终的值为“sqlserver 2.7.13”如图

单引号 当要赋值的内容包括$,",\等具有特殊含义的字符时,应使用单引号括起来。在单引号的范围内,将无法引用其他变量的值,任何字符均作为普通字符看待。但赋值内容中包含单引号(‘)时,需使用’\‘符号进行转文,以免冲突.

反撇号 反撇号用于命令替换,允许将执行某个命令的屏幕输出结果赋值给变量。反配号括起来的范围内必须是能够执行的命令行,否则将会出错。例如,在一行命令中查找useradd命令程序的位置并列出其详细属性,执行以下操作如图

 需要注意的是,使用反撇号难以在一行命令中实现嵌套命令替换操作,这时可以改用”$()“来代替反撇号操作,已解决嵌套的问题,例如查询提供useradd命令程序的软件包所安装的配置文件位置,可以执行以下操作(从里到外替换)如图

 自此实验全部结束 转载跟我说一声 并标注 

 

### 放大学在线课程自动化工具与脚本 针对放大学的在线课程自动化需求,可以参考类似的源项目和技术方案。虽然目前未找到专门针对放大学的现成脚本或工具,但可以通过以下方法实现类似功能。 #### 方法:基于Python的通用爬虫与模拟点击脚本 通过`requests`库和`selenium`库组合使用,能够完成登录、文件下载以及视频播放等功能。以下是具体的技术栈说明: - **Requests 库**:用于模拟HTTP请求获取网页中的资源链接[^1]。 - **Selenium 库**:支持浏览器自动化操作,适用于需要动态加载页面内容的情况[^3]。 下面是个简单的代码示例,展示如何利用这些库构建基础框架: ```python from selenium import webdriver import time # 初始化 WebDriver (需提前安装对应驱动程序) driver = webdriver.Chrome() try: driver.get('https://example.openedu.cn') # 替换为目标网站URL username_input = driver.find_element_by_id('username') password_input = driver.find_element_by_id('password') # 输入用户名密码 username_input.send_keys('your_username_here') password_input.send_keys('your_password_here') # 提交表单 login_button = driver.find_element_by_css_selector('.login-button') login_button.click() # 等待页面加载完成后执行其他逻辑 time.sleep(5) finally: driver.quit() ``` 此代码仅为演示用途,请根据实际目标站点调整选择器路径和其他参数设置。 #### 方法二:调用第三方API接口 如果目标平台提供了官方公API,则可以直接通过编程方式访问所需数据而无需依赖复杂的HTML解析过程。例如,在引用[2]提到的内容里就涉及到了这种思路的应用场景描述。 需要注意的是,在使用此类服务之前务必仔细阅读其条款条件以确认允许范围内的合法行为[^4]。 --- ### 注意事项 在发过程中还需注意以下几个方面的问题: 1. 遵守各教育机构关于账号安全性和隐私保护的规定; 2. 对抗反爬机制可能带来的挑战如验证码验证等额外步骤处理; 3. 考虑到不同设备分辨率下坐标位置差异影响selenium鼠标动作准确性等问题解决办法;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值