アプリ版:「スタンプのみでお礼する」機能のリリースについて

bashで5、10日かどうかを判定したい

とりあえず、何日かを確保したとして、、、

declare DATE_DD=`date +%d`

ここから、この${DATE_DD}を5で割って余りが0なら"ゴト日"ですが、余りの求め方はおろか、割算の仕方さえ分かりませんでした。

bashって演算できるのでしょうか?
ネット検索してもよくわかりませんでした。

A 回答 (5件)

「演算子としてmod的なモノ」なら, ちゃんと #4 にリストアップされてますが....

    • good
    • 0
この回答へのお礼

あ、
% ですね
失礼しました。
有り難うございます。

お礼日時:2010/06/30 14:00

http://www.linux.or.jp/JM/html/GNU_bash/man1/bas …
> 算術式展開
> 算術式展開を使うと、算術式を評価して、その結果に置換できます。算術式展開のフォーマットを次に示します:
> $((expression))

>算術式評価
>シェルにおいては、特定の状況下で算術式を評価させることができます
(略)
> * / %
> 乗算、除算、剰余

以上、 man bash に書いてあることです。
上記サイトはgoolgeで「bash」でトップにきました。

manも検索もわからないなら、書店で解説書買って熟読してください。

この回答への補足

ありがとうございます。



# echo $((-7*5))
-35

# echo $((7*1.5))
bash: 7*1.5: syntax error: invalid arithmetic operator (error token is ".5")

# echo $((10/3))
3

# echo $((7/4))
1

aa=8
bb=3
cc=$(($aa-$(($(($aa/$bb))*$bb))))
echo $cc

マイナスは使えて、少数は使えない。
少数は四捨五入でなく切り捨て。

割算の余りを求めるのは大変そうですね。

8÷3の余りを求めるなら下記のような感じで書けなくはなさそうですが、演算子としてはmod的なモノは無いのでしょうか。
# aa=8
# bb=3
# cc=$(($aa-$(($(($aa/$bb))*$bb))))
# echo $cc
2



>書店で解説書買って熟読してください。

近所に売っていれば買っても良いのですが、bashの解説書を取り扱ってる書店は劇レアです。
通販以外ではまず無理です。

補足日時:2010/06/30 10:23
    • good
    • 0

bashで演算できるかどうかと言うことなら、できます。


man bashで説明を読んでください。

この回答への補足

どうしても教えたくないならレスしてくれなくて結構です

補足日時:2010/06/29 13:28
    • good
    • 0

普通は「ネット検索」の前に man では?

この回答への補足

manはコマンドの使い方が分からないときは役に立ちますが、
やりたい事はこうだけど、
どのコマンドを使ったら良いのか?
そもそもそんなコマンドあるのか?
って時には殆ど無力です。

補足日時:2010/06/29 13:38
    • good
    • 0

5日か10日かって、5、10、15、20、25、30でしょ。

別に演算しなくても6回比較すれば。

この回答への補足

まあそうれはそうですけど、
演算はどうせやりたい事があるので、このタイミングで知っておきたいんです。
それが「bashでは無理」という答えだったとしてもです。

補足日時:2010/06/29 10:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!