?? self-source.sh
字號:
#!/bin/bash# self-source.sh: 一個腳本"遞歸"的source自身. # 來自于"Stupid Script Tricks," 卷 II.MAXPASSCNT=100 # 最大的可執行次數. echo -n "$pass_count "# 在第一次運行的時候,這句只不過echo出2個空格,#+ 因為$pass_count還沒被初始化.let "pass_count += 1"# 假定這個未初始化的變量$pass_count#+ 可以在第一次運行的時候+1.# 這句可以正常工作在Bash和pdksh下, 但是#+ 它依賴于不可移植(并且可能危險)的行為.# 更好的方法是在使用$pass_count之前,先把這個變量初始化為0.while [ "$pass_count" -le $MAXPASSCNT ]do . $0 # 腳本"source"自身, 而不是調用自己. # ./$0 (應該能夠正常遞歸)不能在這正常運行. 為什么?done # 這里發生的動作并不是真正的遞歸,#+ 因為腳本成功的展開了自己,換句話說,#+ 在每次循環的過程中#+ 在每個'source'行(第20行)上# 都產生了新的代碼.## 當然, 腳本會把每個新'source'進來文件的"#!"行#+ 都解釋成注釋, 而不會把它看成是一個新的腳本.echoexit 0 # 最終的效果就是從1數到100. # 真是讓人印象深刻.# 練習:# -----# 使用這個小技巧編寫一些真正能夠干些事情的腳本.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -