Hack 43. PS1 変数内でシェルスクリプトを使用する

PS1 変数内でシェルスクリプトを実行することもできます。
以下の例では、~/bin/totalfilesize.sh は現在ディレクトリのトータルのファイルサイズを計算しますが、
PS1 変数内で実行されます。

ramesh@dev-db ~> cat ~/bin/totalfilesize.sh

for filesize in $(ls -l . | grep "^-" | awk '{print $5}')
do
let totalsize=$totalsize+$filesize
done
echo -n "$totalsize"

ramesh@dev-db ~> export PATH=$PATH:~/bin 

ramesh@dev-db ~> export PS1="\u@\h [\$(totalfilesize.sh) bytes]> " 

ramesh@dev-db [534 bytes]> cd /etc/mail 

ramesh@dev-db [167997 bytes]>

[Note: これは totalfilesize.sh を実行して、PS1 プロンプトに現在ディレクトリの総ファイルサイズを表示します]