Linux Notes
2017.11.13
Shell 脚本中的循环语句
结构化循环命令在编程中很常见。通常需要重复一组命令直到触及某个特定条件。比如处理某个目录下的所有文件、系统上的所有用户或某个文本文件中的所有内容。bash shell 提供了三个常用的循环命令 for、while 和 until,就来好好研究研究吧。
这些测试条件使你能够在 shell 脚本中检查文件系统中的文件。它们经常出现在需要进行文件访问的脚本中。
比较 | 描述 |
---|---|
-d file | 检查 file 是否存在并是一个目录 |
-e file | 检查 file 是否存在 |
-f file | 检查 file 是否存在并是一个文件 |
-r file | 检查 file 是否存在并可读 |
-s file | 检查 file 是否存在并非空 |
-w file | 检查 file 是否存在并可写 |
-x file | 检查 file 是否存在并可执行 |
-O file | 检查 file 是否存在并属当前用户所有 |
-G file | 检查 file 是否存在并且默认组与当前用户相同 |
file -nt file2 | 检查 file 是否比 file2 新 |
file -ot file2 | 检查 file 是否比 file2 旧 |
这些测试条件都可以用在 test 命令中,例如:
#!/usr/local/bin/bash
jump_directory=/home/frank
if [ -d $jump_directory ]
then
echo "the $jump_directory directory exists"
cd $jump_directory
ls -l
else
echo "the $jump_directory directory does not exist"
fi
对文件操作前,先对其进行测试总是件好事情!
Frank Lin
Linux Notes
2017.11.13
结构化循环命令在编程中很常见。通常需要重复一组命令直到触及某个特定条件。比如处理某个目录下的所有文件、系统上的所有用户或某个文本文件中的所有内容。bash shell 提供了三个常用的循环命令 for、while 和 until,就来好好研究研究吧。
Linux Notes
2018.04.22
A shell script to automate the process of downloading National Geographic Photo of the Day. The script saves the image of Photo of the Day in the same directory where the script itself resides. You can use cron to make it automatically running everyday.
Linux Notes
2017.11.27
尽管可以通过命令行选项和参数从脚本用户处获取输入,但有时脚本的交互性还需要更强一些,可以使用 bash shell 提供的 read 命令交互地获取用户输入。