大晚上的寫的一個shell ,大概是因爲很久以前看的鳥哥的shell編程 , 有好多東西都不怎麼會了。。。。花了很久的時間調bug ,改程序, 感覺自己對shell 又有了一定的
瞭解吧。。。
#!/bin/bash
PATH="~/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/ibin"
export PATH
function cate()
{
tmpx=0
for file in `ls $1`
do
echo $file
if [ -d $1"/"$file ]
then
let i+=1
cate $1"/"$file
fi
done
}
i=0
path="."
cate $path
echo $i
</pre><pre name="code" class="plain">首先想說的是 bash 和sh , 一開始寫了#!/bin/bash , 然後就+x , sh 運行, 結果就莫名的報了一個 ls not found ,let no found 的錯誤 , 百度了很久都沒有解決,
後來突然腦洞大開 使用了 bash 竟然ok了。。。
</pre><pre name="code" class="plain">然後是第二個問題,算是邏輯設計問題吧, 因爲涉及到了遞歸操作, 然後又對shell 的變量不是很瞭解, 於是就 很天真的寫了一個帶return 版的shell ,
<pre name="code" class="plain">#!/bin/bash
PATH="~/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/ibin"
export PATH
function cate()
{
i=0
tmpx=0
for file in `ls $1`
do
echo $file
if [ -d $1"/"$file ]
then
let i+=1
tmp=$(cate $1"/"$file)
i=`expr $i +$tmp`
fi
done
return $i
}
i=0
path="."
local=$(cate $p)
echo $local
</pre>shell 大概就是這個樣子吧, 然後返回的時候 tmp 很奇怪的編程了我目錄下的一個文件名, 然後就和 + $i 一起,發生了問題, 這個我至今還沒有想明白, 如果有大牛
知道, 請告訴我這個小菜逼。。。。
其他麼,總的就是複習了一下shell 的一些知識吧, 感覺還是挺有用的。
(ps:下次應該早點寫博客做記錄啊, 現在好多都記不起來了。。。。)