シェルスクリプト総合@LINUX Part5 at LINUX
[2ch|▼Menu]
117:112
09/06/24 01:41:57 B7cQg4Om
>>114-116 ありがとうございます。
早速、(( ))を使って書き直しました。
10万までインクリメントしていくだけのスクリプトで
速度を計測してみたのですが、全然違うのですね!
./tmp.sh 4.64s user 0.10s system 99% cpu 4.788 total
./tmp.sh 92.07s user 111.03s system 96% cpu 3:31.31 total
exprの方(下の方)が遅いです。

それと一貫性が無いように感じたので、1行目のwhichの文を$(which w3m)としました。
また、bashを見てみると[[ ]]という組み込みの評価式があったので、
if [ \( ! -e "$COMMAND" \) -o \( ! -x "$COMMAND" \) ]; then
という部分を変更しました。
if [[ ( ! -e "$COMMAND" ) || ( ! -x "$COMMAND" ) ]]; then
これも計測してみたら、若干ですが[[ ]]の方が速かったです。

>>116で挙げられた記法を使用したことで変数が1つ減りました。

こんな感じになりました。
#!/bin/bash
# @(#) man on linux.or.jp
#
COMMAND=$(which w3m)
PAGE=
SECTION=
SECT=("on" "on" "on" "on" "on" "on" "on" "on")
SECTURL=
BASEURL="URLリンク(search.linux.or.jp)"
URL=
if [[ ( ! -e "$COMMAND" ) || ( ! -x "$COMMAND" ) ]]; then
echo "not installed w3m"
exit 1
fi


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5367日前に更新/221 KB
担当:undef