The UNIX and Linux Forums  


Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > UNIXのダミー質問と回答のため
Googleのunix.com



UNIXのダミー質問と回答のため もしUNIXやLinuxについての質問があれば、ここに投稿してください。すべてのUNIXおよびLinux初心者歓迎!

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
どのようにステートメントの場合はgiv .. 2つの条件に? ? RRVARMA シェルプログラミングとスクリプティング 6 2008年4月25日 10:33午前
または条件を減らす hitmansilentass シェルプログラミングとスクリプティング 8 2007年5月3日 06:27午後
で複数の条件に該当する場合/次に grandtheftander UNIXのダミー質問と回答のため 4 2006年7月21日 02:58午後
もし2つの条件との声明 cin2000 シェルプログラミングとスクリプティング 1 2006年1月23日 03:21午後
2つの条件をメールする場合、 & &との声明 龍湖 シェルプログラミングとスクリプティング 16 2005年6月14日 05:46午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年7月28日
ボロブドゥール borobudur is offline
登録ユーザー
  
 

参加日: 2008年7月
場所:ジュネーブ、スイス
投稿: 23
1つで2つの条件をif文

私はbashのプログラミングを始めたばかりだと私は1つで2つの条件をif文になることはありません。私のコードは次のようになります:

コード:
h=`date +%k`
if [ [ $((h>9)) ] && [ $((h<21)) ] ]; then

$ hには10が、私のif文になることはありません。ここには何が悪いのか?
  #2固定リンク)  
Old 2008年7月28日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
は、シェルの条件文の構文は、不気味な選択肢を設定している。

[伝統的な区切りではありませんが、コマンドの名前を入力します。複数の式を使用する方法このようなものです:


コード:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then
  ...
fi

それ以降はわずかに(つまり、後の1979年かそこら... )の構文です


コード:
if [ "$h" -gt 9 -a "$h" -lt 21 ]; then
  ...
fi

の$((...))構文は、それ以降は、適切な演算(を含む>と<演算子)が、直接条件として使用されていませんが導入されました。それだけで0と1に該当するための拡張はfalse 。しかし、もちろん、試合を混在することができます:


コード:
if [ $((h > 9 && h < 21)) == 1 ]; then
  ...
fi

最後には、 [ [は... ] ] 、条件は多分あなたが欲しいものです:


コード:
if [[ $h > 9 ]] && [[ $h < 21 ]]; then
  ...
fi

これを構成する文字は、 [ [区切り文字に空白が私の知る限り( )を分離することはできません。
  #3固定リンク)  
Old 2008年7月28日
krishmaths krishmaths is offline
登録ユーザー
  
 

参加日: 2006年9月
場所:マイソール、インド
投稿数: 191
このお試しください:


コード:
if [ $h -gt 9 -a $h -lt 21 ]; then

  #4固定リンク)  
Old 2008年7月28日
ボロブドゥール borobudur is offline
登録ユーザー
  
 

参加日: 2008年7月
場所:ジュネーブ、スイス
投稿: 23
ああ!私は若いし、このためだと考えています。かなりトリッキーなことに私はJavaの世代からですが、 bashのようだ。

これらの2つの作品と思われる。は、実際には同じですか?


コード:
if [ $h -gt 9 -a $h -lt 21 ]; then


コード:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then

  #5固定リンク)  
Old 2008年7月28日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
主に安全のために二重引用符の場合には(良い習慣を時間$ですが、誤って、空の文字列を含むが終了すると、例えば)との理論には、 & &その他ここでは1つだけ作成する2つの外部プロセスを作成する可能性がある。ため、 [おそらく現代のシェルでは内部で処理されます(この理論は、外部プロセスの関与がないようです。 )

シェルスクリプトは、構文をもっと多くの他のスクリプト言語に比べて浅いですが解析されていませんし、いくつかの合併症を作成するだけでなく、シェルは非常に汎用性を支援します。標準の欠如は、組み込みの算術演算子で、最初からこの場合の複雑さの別のソースです。 のPOSIX 問題のいくつかの試みが、歴史的に解決するには、別のシェルを作成しているさまざまな拡張機能を開発しているし、それが、さらに別の方法を皮膚猫。
  #6固定リンク)  
Old 2008年7月28日
ボロブドゥール borobudur is offline
登録ユーザー
  
 

参加日: 2008年7月
場所:ジュネーブ、スイス
投稿: 23
皆さんご協力に感謝!
Closed Thread

ブックマーク

タグ
if文の条件

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 08:39午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0