2011-09-13 18:01

[轉載] Linux shell script 的彩色控制

轉載自:Linux shell script 的彩色控制

Linux 下的終端機畫面不是只能換換背景而已,顯示出來的顏色也是能控制的。使用的顏色就像以前的DOS 時代,或者現在的BBS 顏色控制方式一樣。

以shell 的顯示為例,顯示的格式如下:

\33[ 文字樣式 ; 文字顏色 ; 背景顏色 m
文字內容………………
\33[0m

文字樣式有列下幾種色碼可以使用:
  • 0 一般亮度
  • 1 高度度
  • 4 加底線
  • 5 灰底

文字顏色則都是3開頭,有下列色碼:
  • 30 黑色
  • 31 紅色
  • 32 綠色
  • 33 黃色
  • 34 藍色
  • 35 紫色
  • 36 青綠
  • 37 白色

再來是背景顏色色碼,都是4開頭:
  • 40 黑色
  • 41 紅色
  • 42 綠色
  • 43 黃色
  • 44 藍色
  • 45 紫色
  • 46 青綠
  • 47 白色

如果我要在畫面上顯示高亮度的綠色(32)及黑色背景,可以如下:
  1. sprintf "\33[1;32;40m 我的文字 \33[0m" 

也可以分開來寫比較清楚
  1. sprintf "\33[1;32;40m " 
  2. sprintf "我的文字" 
  3. sprintf "\33[0m" 

記得shell 輸出碼要用 printf 而不是用一般的 echo。echo 的話要寫成 echo -e 。
但並不是所有的終端機畫面都是用黑色背景的。如果我們不要指定它的黑色背景,讓它使用系統原始背景色,可以省略背景描述變成如下:
  1. sprintf "\033[1;32m" 
  2. sprintf "我的文字" 
  3. sprintf "\033[0m" 

是不是就比較完美了呢。

其實這些控制碼和BBS 的還真像。
2011-09-09 11:11

RamDisk 設定 & 瀏覽器 cache 設定

上次已經有建立過 RamDisk 一次了,最近重灌又在玩了一次,說真的,不紀錄下來,久久又會忘記了。

首先先設定 C:\boot.ini,在 [operating systems] 的最後加入 /PAE,這是為了讓 XP能夠定址到3G以上的空間,然後重新開機才會生效。
  1. [boot loader] 
  2. timeout=30 
  3. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS 
  4. [operating systems] 
  5. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff /PAE 







然後將多出來的記憶體建立成 RamDisk,先是要讓 SuperSpeed RamDisk 抓到多出來的記憶空間。




這裡選擇要自動搜尋,它會將沒用到的空間標記起來。


接著選擇建立一個新的 RamDisk,就會出現以下的畫面,先是設定空間的大小。








設定 Chrome 的快取目錄指向到 RamDisk 中,只要在開啟的連結中加入 --disk-cache-dir="P:\temp\chrome" 參數就可以改變快取目錄。




設定 Firefox 的快取目錄指向到 RamDisk 中,在 Firefox 的網址列中鍵入 about:config,進入進階設定的頁面中,然後新增一個名稱為 browser.cache.disk.parent_directory 的字串,其值為 P:\temp\firefox





2011-09-09 10:15

[jQuery] 等待多個 Ajax 請求完成

最近在找等待多個 Ajax 完成的方法,找到 jQuery.when函数分析這篇文章中有處理多個 Ajax 的方法,但對於數量不固定的狀況,jQuery.when 輸入參數的方式實在有點討厭,必須要指定 Ajax 的數量,還好想起有 apply 這個方法可以用,可以將 array 轉換成呼叫 function 的參數,這樣不管有多少數量,都可以很輕鬆的帶入到 jQuery.when 中。

  1. /*將多個 Ajax 加到 array 中*/ 
  2. var ajaxRequest=[]; 
  3. for (var i=0; i<10; i++){ 
  4.    ajaxRequest.push( 
  5.        $.ajax({ 
  6.            data: {'a':i}, 
  7.            success: function(data) { 
  8.                console.log(data); 
  9.            } 
  10.        }) 
  11.    ); 
  12. }; 
  13.  
  14. /*利用 apply 將 ajaxRequest 帶入 jQuery.when*/ 
  15. var der=$.when.apply( $, ajaxRequest ) 
  16.  
  17. der.always(function() { 
  18.    console.log(arguments); 
  19.    alert('全部結束'); 
  20. });         
  21. der.done(function() { 
  22.    console.log(arguments); 
  23.    alert('全部成功'); 
  24. });         
2011-09-05 14:10

[jQuery] textarea 自動高度很簡單

上網找了一些文章來看後,自己又再改了一改,發現很簡單就可以達到自動高度的功能,真是給他快樂的說。

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
  2. <html> 
  3. <head> 
  4.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  5.    <title>文字區塊自動高度</title> 
  6.    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> 
  7.    <script type="text/javascript">  
  8.    jQuery(function($) { 
  9.        $("textarea.AutoHeight").css("overflow","hidden").bind("keydown keyup", function(){ 
  10.            $(this).height('0px').height($(this).prop("scrollHeight")+"px"); 
  11.        }).keydown(); 
  12.    }); 
  13.    </script>  
  14. </head> 
  15. <body> 
  16.    <textarea class="AutoHeight"></textarea> 
  17.    <textarea class="AutoHeight"></textarea> 
  18.    <textarea class="AutoHeight"></textarea> 
  19. </body> 
  20. </html>