linux语句解释

liru125504 2012-04-13 11:33:00
有个shell脚本,里面有一些语句不是很理解,求解释。语句如下:

1.mkdosfs "$1"1 > /dev/null 2>&1
2.if [ "$1" != "img" ] && [ "$1" != "imgbb" ] ; then //"img"和"imgbb"是什么意思
...
3.if [ "$IMAGE_PATH" == "" -o ! -d "$IMAGE_PATH" ]; then//参数-o和-d不知道是什么意思
...
4.umount /boot > /dev/null 2>&1
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
linlan999 2012-04-16
  • 打赏
  • 举报
回复
1.mkdosfs "$1"1 > /dev/null 2>&1
2.if [ "$1" != "img" ] && [ "$1" != "imgbb" ] ; then //"img"和"imgbb"是什么意思
...
3.if [ "$IMAGE_PATH" == "" -o ! -d "$IMAGE_PATH" ]; then//参数-o和-d不知道是什么意思
...
4.umount /boot > /dev/null 2>&1

1
"$1" 表示脚本的第二个参数(第一个参数,也就是$0,为脚本的名字)
1 表示STDOUT,即所谓的标准输出;
2 表示STDERR,即所谓的标准错误;
mkdosfs $1 format参数代表的partition 为dos文件系统,似乎是FAT32吧?
并且命令的输出被重定向到/dev/null设备(也即是"黑洞"),
同时让命令打印的错误信息输出定向到/dev/null;
也就是说无论该命令输出了什么东西,你都看不到。
2
if [ "$1" != "img" ] && [ "$1" != "imgbb" ] ; then
img , imgbb这些只是字符串而已,
这句shell的意思是:若第二个参数既不是img,也不是imgbb的话,就....

3
if [ "$IMAGE_PATH" == "" -o ! -d "$IMAGE_PATH" ];
这里的IMAGE_PATH是变量,
-o 代表逻辑或
! 代表逻辑非
-d 测试目录是否存在
这句的意思是: 若变量IMAGE_PATH的值为空 或者 IMAGE_PATH的值代表的路径不存在,则...

4
umount /boot 用以卸载一个partition
> /dev/null 2>&1 效果等同于 1 > /dev/null 2>&1
昵称很不好取 2012-04-13
  • 打赏
  • 举报
回复
-o表示或者,or
-d应该表示目录,directory
lisial 2012-04-13
  • 打赏
  • 举报
回复
"img" "imgbb"字符串啊,用于判断而已吧。
都要根据上下文看意思吧。

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧