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

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



こじま@linux-5.10がLTS候補だそうで調べてみているのだけど、
   5.9 あたりからvt.c回りが大幅に変っていて、
   従来のcjk-ttyパッチが使えなさそうで困っている、、です。

# cjk-tty パッチがあたるのは 5.8 までっぽい

From: ABE Shin-ichi <shin1.abe@xxxxxxxxx>
Subject: [plamo:33469] lsbytesum による表示について
Date: Tue, 3 Nov 2020 23:13:26 +0900

> slackware環境で .bashrcの PS1 設定をカスタマイズして、下記リンク画像のような
> 表示をさせています。
...
> 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の

このカンマ(,)は、日本語表記時の桁取りなんで、日本語ロケールが原因っぽいですね。

とりあえず、先頭でLANGを"C"にしてやれば何とかなりそう。

--- lsbytesum	2020-11-03 23:38:51.461321540 +0900
+++ lsbytesum_plamo	2020-11-03 23:38:39.214917650 +0900
@@ -1,5 +1,6 @@
 #!/bin/bash                                                                 
 #     lsbytesum - sum the number of bytes in a directory listing             
+export LANG="C"
 TotalBytes=0                                                                 
 for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }')                       
 do

$ sh ~/lsbytesum
/home/kojima/lsbytesum: 行 6: let: TotalBytes=1291+13,098: 基底の値が大きすぎます (エラーのあるトークンは "098")
/home/kojima/lsbytesum: 行 6: let: TotalBytes=2389+11,558,096: 基底の値が大きすぎます (エラーのあるトークンは "096")
/home/kojima/lsbytesum: 行 6: let: TotalBytes=2400+48,089: 基底の値が大きすぎます (エラーのあるトークンは "089")
.009

$ sh ~/lsbytesum_plamo 
5456.377

-----
こじま


Follow-Ups
[plamo:33471] Re: lsbytesum による表示について, Takahiro Yoshizawa
References
[plamo:33469] lsbytesum による表示について, ABE Shin-ichi

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