LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1104|回复: 4

这个简单脚本错在哪?

[复制链接]
发表于 2009-11-28 01:24:45 | 显示全部楼层 |阅读模式
我需要建立四个文件夹.
但是运行后只有2个被建立,不知道为什么.


#!/bin/sh
user=(whoami)
if [ ! "$user"=="root" ] ; then
if ! [ -d $HOME/results ] ; then
mkdir -p $HOME/results
fi
if ! [ -d $HOME/jobs ] ; then
mkdir -p $HOME/jobs
fi
if ! [ -d $HOME/inputs ] ; then
mkdir -p $HOME/inputs
fi
if ! [ -d $HOME/jouts ] ; then
mkdir -p $HOME/jouts
fi
fi
发表于 2009-11-28 09:38:38 | 显示全部楼层
我就不排错了,你这样就行(你那些 if 没有意义,mkdir本身就会先判断后执行):
  1. root [ ~/fnz ]0# ll
  2. total 0
  3. root [ ~/fnz ]0# [[ $EUID == 0 ]] && mkdir -p $HOME/fnz/{results,jobs,inputs,jouts}
  4. root [ ~/fnz ]0# ll
  5. total 16
  6. drwxr-xr-x 2 root root 4096 Nov 28 00:17 inputs
  7. drwxr-xr-x 2 root root 4096 Nov 28 00:17 jobs
  8. drwxr-xr-x 2 root root 4096 Nov 28 00:17 jouts
  9. drwxr-xr-x 2 root root 4096 Nov 28 00:17 results
  10. root [ ~/fnz ]0#
复制代码

另外,要想解决问题,你总要给出错误信息吧...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-28 15:10:19 | 显示全部楼层
谢谢 ServerOnly
我的问题找到了
第一行错误,不能用user=(whoami)
应该用user=`whoami`
俺是刚开始学Linux shell,请多多指教!
您这个脚本精练,学习了
回复 支持 反对

使用道具 举报

发表于 2009-11-28 15:49:49 | 显示全部楼层
user=$(whoami)
回复 支持 反对

使用道具 举报

发表于 2009-11-28 17:39:17 | 显示全部楼层
不好意思,应该是这个:
  1. [[ $EUID == 0 ]] || mkdir -p $HOME/fnz/{results,jobs,inputs,jouts}
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表