實作如下圖所示:
[root@localhost shell]# bash zong.sh
==================凱撒加密解密==============================
1)輸入字元串,進行凱撒加密(輸入的字元串隻能是字母、數字、空格)
2)已有加密後的字元串進行解密
3)退出
INPUT:q
shell代碼如下:
<code>#!/bin/bash</code>
<code>jiami(){</code>
<code> </code><code>echo</code> <code>{a..z} | </code><code>xargs</code> <code>-n1 ></code><code>file</code>
<code> </code><code>echo</code> <code>{a..z} {A..Z} @ @ | </code><code>xargs</code> <code>-n1 >></code><code>file</code>
<code> </code><code>read</code> <code>-p </code><code>"Input:"</code> <code>num</code>
<code> </code><code>num1=`</code><code>echo</code> <code>$num |</code><code>sed</code> <code>'s/ /@/g'</code> <code>| </code><code>tr</code> <code>'0-9'</code> <code>'A-J'</code><code>`</code>
<code> </code><code>a=${</code><code>#num1}</code>
<code> </code><code>for</code> <code>i </code><code>in</code> <code>`</code><code>seq</code> <code>$a`</code>
<code> </code><code>do</code>
<code> </code><code>q=`</code><code>echo</code> <code>$num1 | </code><code>cut</code> <code>-c $i`</code>
<code> </code><code>w=`</code><code>cat</code> <code>-n </code><code>file</code> <code>| </code><code>awk</code> <code>'/'</code><code>$q</code><code>'/'</code> <code>| </code><code>head</code> <code>-1|</code><code>awk</code> <code>'{print $1}'</code><code>`</code>
<code> </code><code>w=$(($w+1))</code>
<code> </code><code>d=`</code><code>cat</code> <code>file</code> <code>| </code><code>sed</code> <code>-n </code><code>''</code><code>$w</code><code>'p'</code><code>`</code>
<code> </code><code>echo</code> <code>-n </code><code>"$d"</code>
<code> </code><code>done</code>
<code> </code><code>echo</code>
<code>}</code>
<code>jiemi(){</code>
<code> </code><code>echo</code> <code>{a..z} | </code><code>xargs</code> <code>-n1 ></code><code>file</code>
<code> </code><code>echo</code> <code>{a..z} {A..Z} {A..Z} @ @ | </code><code>xargs</code> <code>-n1 >></code><code>file</code>
<code> </code><code>num1=`</code><code>echo</code> <code>$num |</code><code>sed</code> <code>'s/@/@/g'</code><code>`</code>
<code> </code><code>q=`</code><code>echo</code> <code>$num1 | </code><code>cut</code> <code>-c $i`</code>
<code> </code><code>w=`</code><code>cat</code> <code>-n </code><code>file</code> <code>| </code><code>awk</code> <code>'/'</code><code>$q</code><code>'/'</code> <code>| </code><code>tail</code> <code>-1|</code><code>awk</code> <code>'{print $1}'</code><code>`</code>
<code> </code><code>w=$(($w-1))</code>
<code> </code><code>d=`</code><code>cat</code> <code>file</code> <code>| </code><code>sed</code> <code>-n </code><code>''</code><code>$w</code><code>'p'</code><code>`</code>
<code> </code><code>v</code><code>=`</code><code>echo</code> <code>-n </code><code>"$d"</code><code>`</code>
<code> </code><code>echo</code> <code>-n $</code><code>v</code> <code>| </code><code>sed</code> <code>'s/@/ /g'</code> <code>| </code><code>tr</code> <code>'A-J'</code> <code>'0-9'</code>
<code>together(){</code>
<code>case</code> <code>$choice </code><code>in</code>
<code> </code><code>1)</code>
<code> </code><code>jiami</code>
<code> </code><code>;;</code>
<code> </code><code>2)</code>
<code> </code><code>jiemi</code>
<code> </code><code>3)</code>
<code> </code><code>exit</code> <code>0</code>
<code> </code><code>*) </code><code>exit</code> <code>0</code>
<code>esac</code>
<code>while</code> <code>:</code>
<code>do</code>
<code>cat</code> <code><< EOF</code>
<code>==================凱撒加密解密==============================</code>
<code> </code><code>1)輸入字元串,進行凱撒加密(輸入的字元串隻能是字母、數字、空格)</code>
<code> </code><code>2)已有加密後的字元串進行解密</code>
<code> </code><code>3)退出</code>
<code>EOF</code>
<code> </code><code>read</code> <code>-p </code><code>"INPUT:"</code> <code>choice</code>
<code> </code><code>together</code>
<code>done</code>
實作效果如下:
INPUT:1
Input:a 123b
b@CDEc
INPUT:2
Input:b@CDEc
a 123b
本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1972182,如需轉載請自行聯系原作者