1. 使用wget和shell脚本下载一系列路路径有规律的资源:
我想下载ubuntu社区杂志fullcircle但是不想一个一个的点击进去然后在下载。
于是我想到用wget工具加上shell脚本来做。
其实我几乎没写过shell脚本。所起没写一行代码读会先测试下。
最后得到的脚本如下:
#!/bin/bash
issue="http://dl.fullcirclemagazine.org/issue"
country=_en
for index in `seq 1 53`;
do
wget -c $issue$index$country.pdf;
done
2. 迭代
上面的for循环才terminal上测试如下,在加上另外两中使用生成列表的方法:
changeyi@changeyi-laptop:~$ for x in {1..3};do echo $x;done
1
2
3
changeyi@changeyi-laptop:~$ for x in `seq 1 3`; do echo $x;done
1
2
3
changeyi@changeyi-laptop:~$ initty=/dev/tty[1-8];for tty in $initty;do echo $tty;done;
/dev/tty1
/dev/tty2
/dev/tty3
/dev/tty4
/dev/tty5
/dev/tty6
/dev/tty7
/dev/tty8
changeyi@changeyi-laptop:~$
3. 字符串的连接:
第一项的代码中有一处地方值得注意:
wget -c $issue$index$country.pdf;
如果像下面一样使用的话会错:
dl_issue=$issue$index$country.pdf;
wget -c $dl_issue;
报错如下:
引用
./try.sh: line 7: dl_issue:找不到命令
wget:未指定 URL
用法: wget [选项]... [URL]...
打印dl_issue变量看看,如下:
changeyi@changeyi-laptop:~$ ./try.sh
./try.sh: line 7: dl_issue:找不到命令
./try.sh: line 7: dl_issue:找不到命令
./try.sh: line 7: dl_issue:找不到命令
changeyi@changeyi-laptop:~$ cat try.sh
#!/bin/bash
issue="http://dl.fullcirclemagazine.org/issue"
country=_en
for index in `seq 1 3`;
do
dl_issue = $issue$index$country.pdf;
echo $dl_issue
done
changeyi@changeyi-laptop:~$
直接echo如下,看来是赋值的问题啊:
changeyi@changeyi-laptop:~$ ./try.sh
http://dl.fullcirclemagazine.org/issue1_en.pdf
http://dl.fullcirclemagazine.org/issue2_en.pdf
http://dl.fullcirclemagazine.org/issue3_en.pdf
changeyi@changeyi-laptop:~$ cat try.sh
#!/bin/bash
issue="http://dl.fullcirclemagazine.org/issue";
country="_en";
for index in `seq 1 3`;
do
echo "$issue$index$country.pdf";
done
changeyi@changeyi-laptop:~$
未完待续……
分享到:
相关推荐
尤其对于系统管理员和需要进行自动化脚本编写的开发者来说,掌握Shell编程和使用技巧是基础技能之一。随着实践经验的积累,用户会更加深入地了解Shell的高级特性,并能够编写出更加复杂和强大的脚本来处理各种系统...
Linux Shell脚本是Linux系统中用于自动化任务处理的编程语言,尤其在系统管理、文件操作、数据处理等方面有着广泛的应用...这份文档对于初学者来说是一份宝贵的资源,能够引领你走进Shell脚本的世界,开启自动化之旅。
- **选择Shell**: 在Linux中,Bash是最常见的Shell之一。本文档中的示例均基于Bash。 - **编写脚本**: 使用任何文本编辑器(如NEdit、KEdit、Emacs或Vi)创建文件。 - **设置权限**: 使用`chmod +x filename`使脚本...
- **Bash:** Bash(Bourne Again Shell)是当前最常用的Shell之一,它是Bourne Shell的增强版。Bash支持多种特性,如命令历史、指令补全、别名等。 - **命令历史:** Bash可以记录用户输入的命令,预设可记录1000条...
Shell是Linux和Unix操作系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过命令行执行各种操作。本压缩包"shell基础学习资料.rar"包含的资源显然是为了帮助初学者掌握Shell的基础知识。...
- 学习Shell脚本的最佳方式之一就是通过实践。可以尝试编写一些简单的脚本来完成特定的任务,比如文件搜索、数据转换等。 - 参考网上的实际案例来加深理解,比如GitHub上的开源项目或者技术博客上的文章。 3. **...
Shell是Linux和BSD系统中的一个关键组件,它作为用户与操作系统内核之间的交互界面,扮演着用户友好型...同时,Shell脚本也是Linux系统维护和问题排查的重要工具,对于任何IT专业人士来说,掌握Shell都是必备技能之一。
Echo命令是Shell编程中最为基础且高频使用的命令之一。 4. 双引号与单引号的区别:在shell编程中,双引号和单引号用于定义字符串,但它们的处理方式不同。双引号内的字符会保留其特殊字符的属性,例如变量会被替换...
**Shell学习之Bash** Bash,全称Bourne-Again SHell,是Linux和Unix系统中最常用的一种命令解释器,它为用户提供了一个与操作系统交互的界面。Bash不仅支持基本的命令行操作,还提供了强大的脚本编程能力,使得用户...
- **定义**:在 Linux 系统中,Shell 是用户与操作系统交互的主要方式之一,它不仅是一个命令行解释器,还是一种功能强大的编程语言。 - **用途**: - **任务自动化**:通过编写 Shell 脚本可以实现对日常任务的...
shell学习(经过自己整理) shell编程简介: Shell编程是指使用shell脚本语言编写的程序,以实现自动化任务、批量处理、系统管理等功能。Shell编程语言是基于文本的命令行接口,用户可以通过编写脚本来实现特定的...