天天看點

shell整理(35)====模拟使用者登入的列印菜單腳本

(一)列印一個菜單,接受一個輸入,如果沒有這個使用者就建立使用者和密碼,将建立的使用者和密碼寫入到一個檔案,如果檔案中有就模拟一個使用者登入,要求使用者名任意,可以是(^$ ^q ),密碼分兩種可以是空密碼,也可以是任意長度的密碼。

<code>shell代碼如下:</code>

<code>#!/bin/bash</code>

<code>create_user(){</code>

<code>        </code><code>read</code> <code>-p </code><code>"Plz Input Name:"</code> <code>name</code>

<code>        </code><code>cat</code> <code>file</code> <code>| </code><code>grep</code> <code>$name &amp;&gt;</code><code>/dev/null</code>

<code>        </code><code>[ $? -</code><code>eq</code> <code>0 ] &amp;&amp; </code><code>echo</code> <code>"The user is exise"</code> <code>&amp;&amp; </code><code>exit</code> <code>0</code>

<code>        </code><code>if</code> <code>[ -z $name ];</code><code>then</code>

<code>                </code><code>echo</code> <code>"no exise"</code> <code>&amp;&amp; </code><code>exit</code> <code>0</code>

<code>        </code><code>fi</code>

<code>        </code><code>read</code> <code>-p </code><code>"Plz Input Passwd:"</code> <code>passwd</code>

<code>        </code><code>read</code> <code>-p </code><code>"Plz Input Passwd Again:"</code> <code>passwd1</code>

<code>        </code><code>if</code> <code>[[ </code><code>"$passwd"</code> <code>!= </code><code>"$passwd1"</code>  <code>]] ;</code><code>then</code>

<code>                </code><code>echo</code> <code>"passwd not right"</code> <code>&amp;&amp; </code><code>exit</code> <code>0</code>

<code>        </code><code>if</code> <code>[ ! -z  </code><code>"$passwd"</code>  <code>];</code><code>then</code>

<code>                </code><code>echo</code> <code>"$name   "</code><code>$</code><code>passwd</code><code>" "</code> <code>&gt;&gt;</code><code>file</code>

<code>                </code><code>echo</code> <code>"successfully!"</code>

<code>        </code><code>if</code> <code>[ -z </code><code>"$passwd"</code> <code>];</code><code>then</code>

<code>                </code><code>echo</code> <code>"$name   "</code> <code>" "</code> <code>&gt;&gt;</code><code>file</code>

<code>}</code>

<code>login(){</code>

<code>        </code><code>read</code> <code>-p </code><code>"Plz Input name:"</code> <code>name</code>

<code>        </code><code>a=</code><code>"`cat file | awk '$1=="</code><code>'$name</code><code>'"'</code><code>|</code><code>cut</code> <code>-d </code><code>' '</code> <code>-f2-`"</code>

<code>        </code><code>b=`</code><code>echo</code> <code>"$a"</code> <code>| </code><code>sed</code> <code>'s/ //g'</code><code>`</code>

<code>        </code><code>cat</code> <code>file</code> <code>| </code><code>awk</code> <code>'$1=="'</code><code>$name</code><code>'"'</code> <code>&amp;&gt; </code><code>/dev/null</code>

<code>        </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>

<code>                </code><code>read</code> <code>-p  </code><code>"Plz Input your passwd:"</code> <code>passwd</code>

<code>                </code><code>c=`</code><code>echo</code> <code>$</code><code>passwd</code> <code>| </code><code>sed</code> <code>'s/ //g'</code><code>`</code>

<code>                </code><code>if</code> <code>[[ </code><code>"$b"</code> <code>= </code><code>"$c"</code>  <code>]];</code><code>then</code>

<code>                        </code><code>echo</code> <code>"successfully!"</code>

<code>                </code><code>else</code>

<code>                        </code><code>echo</code> <code>error</code>

<code>                </code><code>fi</code>

<code>        </code><code>else</code>

<code>                </code><code>echo</code> <code>"not user;plz to creiate"</code>

<code>haha(){</code>

<code>case</code> <code>$cc </code><code>in</code>

<code>        </code><code>1)</code>

<code>                </code><code>create_user</code>

<code>                </code><code>;;</code>

<code>        </code><code>2)</code>

<code>                </code><code>login</code>

<code>        </code><code>3)</code>

<code>                </code><code>exit</code> <code>0</code>

<code>        </code><code>*)</code>

<code>                </code><code>exit</code> <code>1</code>

<code>esac</code>

<code>cat</code> <code>&lt;&lt; EOF</code>

<code>=========please choice=========</code>

<code>        </code><code>1)  create_user</code>

<code>        </code><code>2)  login</code>

<code>        </code><code>3)   </code><code>exit</code>

<code>EOF</code>

<code>read</code> <code>-p </code><code>"Choice:"</code> <code>cc</code>

<code>haha</code>

這個腳本雖然很簡單,但是我也根據不同的情況調試了好久.

本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1970428,如需轉載請自行聯系原作者