おはようございます
コードの修正と、shellの書き方について幾つか質問があります
shellでPCのbit数を判定するということをしたいのですが、以下のshellだと${ uname -a }: bad substitution
と出てダメになってしまいます。
bash
1#!/bin/sh 2 3bit(){ 4 if [ `echo "${ uname -a }" | grep "x86_64"` ]; then 5 echo "64bit" 6 fi 7} 8bit
調べてもダブルクォートで解決しているのがほとんどなようなのですが、今回はそのパターンではないのでどうしようにもありません。
それで一つ目の質問が、どうしたら上のshellがちゃんと通るようになるかということです。
二つ目はshellの書き方についてです
64bitの判定は今の所uname -a
による出力結果からしかわからないものと考えているのですが、他にもあるのでしょうか?
またもしないのだとしたら、他の質問があるのです。
上のshellではx86_64
だけでしか判定していないのですが、どうやらamd64
なるものも64bitだそうで、叶うのならばそっちも含めた判定もしたいのです。かといって
bash
1if [ `echo "${ uname -a }" | grep "x86_64"` ]; then 2 echo "64bit" 3elif [ `echo "${ uname -a }" | grep "amd64"` ]; then 4 echo "64bit" 5fi
こんな書き方しかないのでしょうか?
shellの書き方に慣れていないので、もっとスマートにかけたらと思うのですが........
質問が多くなってしまい申し訳ないのですが、宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/10 01:28