运营互联网产品之瘸子走路和瞎子走路
2010-09-06 09:08
435 查看
1. shell判断文件,目录是否存在或者具有权限
2. #!/bin/sh
3.
4. myPath="/var/log/httpd/"
5. myFile="/var /log/httpd/access.log"
6.
7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
8. if [ ! -x "$myPath"]; then
9. mkdir "$myPath"
10. fi
11.
12. # 这里的-d 参数判断$myPath是否存在
13. if [ ! -d "$myPath"]; then
14. mkdir "$myPath"
15. fi
16.
17. # 这里的-f参数判断$myFile是否存在
18. if [ ! -f "$myFile" ]; then
19. touch "$myFile"
20. fi
21.
22. # 其他参数还有-n,-n是判断一个变量是否是否有值
23. if [ ! -n "$myVar" ]; then
24. echo "$myVar is empty"
25. exit 0
26. fi
27.
28. # 两个变量判断是否相等
29. if [ "$var1" = "$var2" ]; then
30. echo '$var1 eq $var2'
31. else
32. echo '$var1 not eq $var2'
33. fi
-f 和-e的区别
Conditional Logic on Files
-a file exists. 文件存在
-b file exists and is a block special file. 文件存在且是一个块特殊文件。
-c file exists and is a character special file. 文件存在且是一个字特殊文件。
-d file exists and is a directory. 文件存在且是一个目录。
-e file exists (just the same as -a). 文件存在(只是同-a)。
-f file exists and is a regular file. 文件存在且是一个普通文件。
-g file exists and has its setgid(2) bit set. 文件存在并有其setgid的(2)位设置。
-G file exists and has the same group ID as this process. 文件存在,并且具有相同的组ID作为这个过程。
-k file exists and has its sticky bit set. 文件存在,并且有粘性位设置。
-L file exists and is a symbolic link. 文件存在且是一个符号链接。
-n string length is not zero. 串长度不为零。
-o Named option is set on. 命名选项设置上。
-O file exists and is owned by the user ID of this process. 文件存在并通过这个过程的用户ID拥有。
-p file exists and is a first in, first out (FIFO) special file or
named pipe. 文件存在并且是先入先出(FIFO)特殊文件或命名管道。
-r file exists and is readable by the current process. 文件存在,并且是当前进程可读。
-s file exists and has a size greater than zero. 文件存在,并且有一个大小大于零。
-S file exists and is a socket. 文件存在且是一个套接字。
-t file descriptor number fildes is open and associated with a
terminal device. 文件描述符的fildes是开放的,与关联终端设备。
-u file exists and has its setuid(2) bit set. 文件存在并有其的setuid(2)位设置。
-w file exists and is writable by the current process. 文件存在并且是可写的当前进程。
-x file exists and is executable by the current process. 文件存在,并且是当前进程的可执行文件。
-z string length is zero. 字符串长度为零。
是用 -s 还是用 -f 这个区别是很大的!
2. #!/bin/sh
3.
4. myPath="/var/log/httpd/"
5. myFile="/var /log/httpd/access.log"
6.
7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
8. if [ ! -x "$myPath"]; then
9. mkdir "$myPath"
10. fi
11.
12. # 这里的-d 参数判断$myPath是否存在
13. if [ ! -d "$myPath"]; then
14. mkdir "$myPath"
15. fi
16.
17. # 这里的-f参数判断$myFile是否存在
18. if [ ! -f "$myFile" ]; then
19. touch "$myFile"
20. fi
21.
22. # 其他参数还有-n,-n是判断一个变量是否是否有值
23. if [ ! -n "$myVar" ]; then
24. echo "$myVar is empty"
25. exit 0
26. fi
27.
28. # 两个变量判断是否相等
29. if [ "$var1" = "$var2" ]; then
30. echo '$var1 eq $var2'
31. else
32. echo '$var1 not eq $var2'
33. fi
-f 和-e的区别
Conditional Logic on Files
-a file exists. 文件存在
-b file exists and is a block special file. 文件存在且是一个块特殊文件。
-c file exists and is a character special file. 文件存在且是一个字特殊文件。
-d file exists and is a directory. 文件存在且是一个目录。
-e file exists (just the same as -a). 文件存在(只是同-a)。
-f file exists and is a regular file. 文件存在且是一个普通文件。
-g file exists and has its setgid(2) bit set. 文件存在并有其setgid的(2)位设置。
-G file exists and has the same group ID as this process. 文件存在,并且具有相同的组ID作为这个过程。
-k file exists and has its sticky bit set. 文件存在,并且有粘性位设置。
-L file exists and is a symbolic link. 文件存在且是一个符号链接。
-n string length is not zero. 串长度不为零。
-o Named option is set on. 命名选项设置上。
-O file exists and is owned by the user ID of this process. 文件存在并通过这个过程的用户ID拥有。
-p file exists and is a first in, first out (FIFO) special file or
named pipe. 文件存在并且是先入先出(FIFO)特殊文件或命名管道。
-r file exists and is readable by the current process. 文件存在,并且是当前进程可读。
-s file exists and has a size greater than zero. 文件存在,并且有一个大小大于零。
-S file exists and is a socket. 文件存在且是一个套接字。
-t file descriptor number fildes is open and associated with a
terminal device. 文件描述符的fildes是开放的,与关联终端设备。
-u file exists and has its setuid(2) bit set. 文件存在并有其的setuid(2)位设置。
-w file exists and is writable by the current process. 文件存在并且是可写的当前进程。
-x file exists and is executable by the current process. 文件存在,并且是当前进程的可执行文件。
-z string length is zero. 字符串长度为零。
是用 -s 还是用 -f 这个区别是很大的!
相关文章推荐
- 互联网金融产品运营策略分析
- 如何做好互联网产品的用户运营
- 从运营产品到运营企业——中国移动的互联网策略(一)
- 互联网产品运营小结
- 什么是互联网产品运营
- 互联网产品运营:怎么做内容建设?
- 互联网创业公司融资、产品、运营快速迭代和人才模式总结
- 互联网产品数据化运营(一)氛围
- 【产品运营从0到1】资深产品运营推荐的互联网产品运营人员必看书籍
- 产品生命周期背后的运营逻辑——《互联网运营的知识体系与整体逻辑》笔记(四)
- 【产品&运营】互联网产品的10秒钟、3分钟和一个礼拜 , 您懂了吗?
- 什么是互联网产品策划、什么是运营策划(经典收藏)
- 未来5年互联网,运营将成比产品更加有前途的职业?
- (推荐给互联网产品运营新人的书单)作为互联网产品运营应该看的书单从而进入BAT等名企工作
- 互联网产品的分类与运营
- 不同产品形态下的运营玩法——《互联网运营的知识体系与整体逻辑》笔记(五)
- 诸葛分享:互联网产品用户运营的基本逻辑
- 2017中国产品经理、互联网运营大会官方回顾:未来,属于你
- 未来5年互联网,运营将成比产品更加有前途的职业?
- 百度资深产品运营推荐的互联网产品运营人员必读的书单