[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:33469] lsbytesum による表示について



たびたびすみません。阿部です。

slackware環境で .bashrcの PS1 設定をカスタマイズして、下記リンク画像のような
表示をさせています。
例)slackwareで表示している仮想コンソール画面:
https://flic.kr/p/2k31LXW

この表示でプロンプトにディレクトリのファイルサイズを表示させているのが
/usr/bin/ に置いている lsbytesum スクリプトです。(下記)
----------------------------------------------------------------------
#!/bin/bash                                                                  
#     lsbytesum - sum the number of bytes in a directory listing             
TotalBytes=0                                                                 
for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }')                       
do                                                                           
    let TotalBytes=$TotalBytes+$Bytes                                        
done                                                                         
TotalMeg=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc)              
echo -n "$TotalMeg
-----------------------------------------------------------------------

同じこと(コンソールプロンプトにディレクトリのファイルサイズを表示)を plamoで
行おうと考え、 (HOME)/.bashrc を編集してターミナルを開いたところ、
lsbytesum スクリプトにより出力・表示されるはずの現在のディレクトリのファイルサイズが
表示されません。
このとき以下のような出力が表示されます。

prompt styling:
/usr/bin/lsbytesum: 行 15: let: TotalBytes=1139+78,095: 基底の値が大きすぎます (エラーのあるトークンは "095")
/usr/bin/lsbytesum: 行 15: let: TotalBytes=2832+1,068: 基底の値が大きすぎます (エラーのあるトークンは "068")

エラーの表示から 78,095 や 1,068 のカンマ「,」が原因のような気がするのですが
シェルスクリプトを読み取るスキルがないため、lsbytesum をどう修正したらよいのか
分かりません。 slackwareでは同じスクリプトでうまく表示されているので、slackwareとplamoの
環境設定の違いから来ているのではと思えるのですが、どこに原因があるのかわからず
まだ試行錯誤中です。

対策方法につきましてアドバイスいただければ助かります。

阿部 




Follow-Ups
[plamo:33470] Re: lsbytesumによる表示について, KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム