Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 向帐户创建脚本添加检查_Shell - Fatal编程技术网

Shell 向帐户创建脚本添加检查

Shell 向帐户创建脚本添加检查,shell,Shell,我继承了以下脚本在OSX中创建帐户 我想在其中包含一个检查,首先检查目标上是否已经存在具有该名称的帐户,如果已经存在,则回显消息“帐户存在”,然后不采取其他操作,然后继续 典型的/tmp/list.txt仅由短名称组成,即: jdoe brianx peterm smithd 非常感谢你的帮助 #! /bin/sh if [ $# -ne 1 ] then echo mkhdir: Did not find required argument: group name

我继承了以下脚本在OSX中创建帐户

我想在其中包含一个检查,首先检查目标上是否已经存在具有该名称的帐户,如果已经存在,则回显消息“帐户存在”,然后不采取其他操作,然后继续

典型的/tmp/list.txt仅由短名称组成,即:

jdoe
brianx
peterm
smithd
非常感谢你的帮助

#! /bin/sh

if [ $# -ne 1 ]
then
        echo mkhdir: Did not find required argument: group name
        echo Usage: mkhdir \[group\]
        exit 1
fi

for i in  `cat /tmp/list.txt` ; do
if [ ! -r /Volumes/UserStorage/Users/$i ]
   then
      mkdir /Volumes/UserStorage/Users/$i
      mkdir /Volumes/UserStorage/Users/$i/Backups
fi
chown -R $i:$1 /Volumes/UserStorage/Users/$i
chmod -R 700 /Volumes/UserStorage/Users/$i
find /Volumes/UserStorage/Users/$i -type d -exec chmod 701 {} \;
done

[!-r…]
的测试不会告诉您/Volumes/UserStorage/Users/$i是否是目录。使用

for i in  `cat /tmp/list.txt` ; do
    if [ ! -d /Volumes/UserStorage/Users/$i ] ; then
         mkdir /Volumes/UserStorage/Users/$i
    else 
       echo "/Volumes/UserStorage/Users/$i already exists" >&2
    fi
    if [ ! -d /Volumes/UserStorage/Users/$i/Backups ] ; then
        mkdir /Volumes/UserStorage/Users/$i/Backups
    else
        echo "/Volumes/UserStorage/Users/$i/Backups already exists" >&2
    fi
    chown -R $i:$1 /Volumes/UserStorage/Users/$i
    chmod -R 700 /Volumes/UserStorage/Users/$i
    find /Volumes/UserStorage/Users/$i -type d -exec chmod 701 {} \;
done
701
任何人都知道在最后的
查找中
701
的目的是什么。。。chmod


IHTH

[!-r…]
的测试不会告诉您/Volumes/UserStorage/Users/$i是否为目录。使用

for i in  `cat /tmp/list.txt` ; do
    if [ ! -d /Volumes/UserStorage/Users/$i ] ; then
         mkdir /Volumes/UserStorage/Users/$i
    else 
       echo "/Volumes/UserStorage/Users/$i already exists" >&2
    fi
    if [ ! -d /Volumes/UserStorage/Users/$i/Backups ] ; then
        mkdir /Volumes/UserStorage/Users/$i/Backups
    else
        echo "/Volumes/UserStorage/Users/$i/Backups already exists" >&2
    fi
    chown -R $i:$1 /Volumes/UserStorage/Users/$i
    chmod -R 700 /Volumes/UserStorage/Users/$i
    find /Volumes/UserStorage/Users/$i -type d -exec chmod 701 {} \;
done
701
任何人都知道在最后的
查找中
701
的目的是什么。。。chmod


谢了,谢了!我在回音线上加了一个结束引号,效果非常好

已完成的脚本片段:

for i in  `cat /tmp/list.txt` ; do
    if [ ! -d /Volumes/UserStorage/Users/$i ] ; then
         mkdir /Volumes/UserStorage/Users/$i
    else 
       echo "/Volumes/UserStorage/Users/$i already exists" >&2
    fi
    if [ ! -d /Volumes/UserStorage/Users/$i/Backups ] ; then
        mkdir /Volumes/UserStorage/Users/$i/Backups
    else
        echo "/Volumes/UserStorage/Users/$i/Backups already exists" >&2
    fi
    chown -R $i:$1 /Volumes/UserStorage/Users/$i
    chmod -R 700 /Volumes/UserStorage/Users/$i
    find /Volumes/UserStorage/Users/$i -type d -exec chmod 701 {} \;
done

@谢了,谢谢!我在回音线上加了一个结束引号,效果非常好

已完成的脚本片段:

for i in  `cat /tmp/list.txt` ; do
    if [ ! -d /Volumes/UserStorage/Users/$i ] ; then
         mkdir /Volumes/UserStorage/Users/$i
    else 
       echo "/Volumes/UserStorage/Users/$i already exists" >&2
    fi
    if [ ! -d /Volumes/UserStorage/Users/$i/Backups ] ; then
        mkdir /Volumes/UserStorage/Users/$i/Backups
    else
        echo "/Volumes/UserStorage/Users/$i/Backups already exists" >&2
    fi
    chown -R $i:$1 /Volumes/UserStorage/Users/$i
    chmod -R 700 /Volumes/UserStorage/Users/$i
    find /Volumes/UserStorage/Users/$i -type d -exec chmod 701 {} \;
done

tnx,明白了。
&2
向std err发送错误消息,std err是“标准”:-。祝你好运,tnx,明白了。
&2
向std err发送错误消息,std err是“标准”:-。祝你好运