顯示具有 bash 標籤的文章。 顯示所有文章
顯示具有 bash 標籤的文章。 顯示所有文章

2011年9月27日 星期二

技術小秘訣: 如何用 bash 寫出密碼產生器?

技術小秘訣: 如何用 bash 寫出密碼產生器?

很多MIS人員常常為了設定公司員工的密碼,而想不出一個簡單的方法;Ben老師在課堂上給學員的作業便是,請各位學員使用bash寫出一個密碼產生器。

#!/bin/bash

declare -i count=0
chars='1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOQPRSTUVWXYZ._!@#$%^&*()'
declare -i chars_length=`expr length $chars`
while [ $count -le 7 ]
do
declare -i pos=`expr $RANDOM % $chars_length`+1

# 必須使用雙引號,否則當echo的字元為*時,會列出目前目錄下的所有檔案
echo -n "`expr substr $chars $pos 1`"
count=$count+1
done
echo

2011年8月31日 星期三

奇科電腦 / 技術小秘訣: 如何利用 bash 的 shell script 自動取得 Cisco 交換器或是路由器的組態設定?

撰寫一個bash的shell script,自動取得Cisco交換器或是路由器的組態設定,如此,我們可以配合UNIX機器上的自動排程機制(CRON),定期備份組態設定。
#!/bin/bash

router=10.10.10.10
password=cisco
enable_mode='enable'
enable_password=cisco
term_length="terminal length"
cmd='show run'

echo open $host
sleep 1
echo $password
sleep 1
echo $enable_mode
sleep 1
echo $enable_password
sleep 1
echo $term_length 0
sleep 1
echo $cmd
sleep 1
echo $term_length 24
sleep 1
echo exit

如果以上的程式名稱為telnet.sh,我們便可以在命令提示字元(prompt)下達指令:

./telnet.sh | telnet

就可以得到IP位址為10.10.10.10的Cisco交換器或是路由器的組態設定了。