The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
bashのシェルスクリプトでシェルをshに saurabh84g シェルプログラミングとスクリプティング 8 2008年8月29日 05:51午前
別のシェルはbash csh ajp7701 シェルプログラミングとスクリプティング 1 2008年4月18日 04:19午後
Cシェルはbashの代わりに ajp7701 シェルプログラミングとスクリプティング 0 2008年3月18日 04:15午後
bashシェル BG_JrAdmin リナックス 1 2006年8月7日 01:56午後
bashシェル... VijayHegde シェルプログラミングとスクリプティング 2 2006年6月6日 08:09午前

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年8月28日
RockyC123 RockyC123 is offline
登録ユーザー
  
 

参加日: 2008年2月
投稿数: 6
bashシェル配管

こんにちはすべて、

私はbashのに新たなよ。私はシェルスクリプトで変数のサブ文字列を取得しようとしている。私は以下のエラーが表示されるのに対し、何を目指している:

-------------------------------------------------- ----------------------
OHOME : /はaaa / BBBランク/製品/最も幅の広い
。 / t.sh :行6 : /はaaa / BBBランク/製品/最も幅の広い:そのようなファイルまたはディレクトリ
Oracleの技術情報:
-------------------------------------------------- ----------------------

ここでは、コードです:

-------------------------------------------------- ----------------------
# ! / bin / shに

OHOME \u003d /単4 / BBBランク/製品/最も幅の広い
" OHOME : " $ OHOMEエコー

\u003d $ OHOMEエコーO_BASE | awkは- F "を/ " ' ( ( ⅰ \u003d 2 ;私< \u003dのNF ;私+ + ) (場合( $私\u003d\u003d "製品" ) (終了; )一\u003dは" / " $私; ) ) '

" Oracleの技術情報: " $ O_BASEエコー
-------------------------------------------------- ----------------------

私は非常に驚いている。から"のように$ OHOMEエコー"私は、私はまだ、このエラーが表示されるなど、カッコ内は、シングル/ダブルクォーテーションを囲むように、いくつかのことを試みていないようだ。私は、本やGoogleからの構文が見あたらないのです

非常にシンプルに見えるが、私はこの何時間も足止めを食らっている。ガイドをすることができますおそらく私の専門家はこちら。

ここにわれわれのLinuxバージョンです:

Linuxの<name> 2.6.9 - 67.0.20.ELsmp # 1 SMPを水6月18日12時40分四十七秒東部夏時間2008 i686 i686のI386 のGNU/リナックス

ロッキー。
  #2固定リンク)  
Old 2008年8月28日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
あなたのコマンドを意味する OHOME \u003dエコー 中には、割り当ては、コマンドが実行される $ OHOME もちろんこれは、有効なコマンドではありません。

、バック( ASCIIと96ではなく、通常のストレート引用)にするコマンドの出力をキャプチャするには:

コード:
O_BASE=`echo $OHOME | awk -F"/" '{for(i=2;i<=NF;i++) {if($i=="product"){exit;} a=a"/"$i; }} '`
$ OHOME適切に二重引用符で、現在勉強して取得する必要が少なく驚き保存(ただし、実際には差がないこのような場合) 。

お使いのシェルの代わりにバック$(...)ことができますが公称遺産にBourne shellの少ない携帯`...`はおそらく、読み取ることができません。

あなたのAwkのスクリプトでは、何もすると表示されません 1つの 一部を意味する場合、印刷する必要がある場合はそれをキャプチャします。

の最初の発生後にはすべてをはがす /製品/ あなたは、シェルの変数の代入メカニズムを使用することができます:

コード:
O_BASE=${OHOME%/product/*}
(あなたのAwkのスクリプトでは、最初のコンポーネントをスキップ /はaaa、それは意図的か?あなたが削除することができますが、別の変数の代入で、 O_BASE \u003d $ ( O_BASE # /単4 )

時代別に編集最終; 2008年8月28日に 02:56午後..理由:変数の代入発言
  #3固定リンク)  
Old 2008年8月28日
RockyC123 RockyC123 is offline
登録ユーザー
  
 

参加日: 2008年2月
投稿数: 6
うわー..どうもありがとう。私は`時のHPからそれ以上のコピーを忘れてしまった。これで動作すると両方の`` $(..)

2回目の提案" O_BASE \u003d $ ( OHOME % /製品/ * ) "完璧に、すべての追加なしで動作します。私は、一-は、構文を学ぶのにいい本を入手する必要があります理解することはできません。

3番目の部分では、 Awkの方法は、この作品は、一分野としての最初のスラッシュの前の部分を想定しています: " /単4 / BBBランク/製品/最も幅の広い" 。この1つでは、 Awkのはaaa BBBランク1と2番目のフィールドは、 3番目のフィールドです。

問題は解決します。お世話になりましたがたくさん。
  #4固定リンク)  
Old 2008年8月28日
buffoonix buffoonix is offline
登録ユーザー
  
 

参加日: 2006年3月
投稿数: 145
引用:
私は`時のHPからそれ以上のコピーを忘れてしまった。これで動作すると両方の`` $(..)
はい、 HP - UXへのshはこれだ のPosix シェル。見る 男のSH -のPOSIX その機能についての情報を確認してください。
場合は、スクリプトを実行するつもりはありませんそのため、むしろ$(...)スタイルを使用する必要があります
に変更されていないのAIXやSunOS / Solarisと' shに。
  #5固定リンク)  
Old 2008年8月28日
wempy's Avatar
wempy wempy is offline
登録ユーザー
  
 

参加日: 2006年6月
場所:ハーペンデン、英国
投稿数: 208
この リファレンスカード [詳細含まれます。 Bashスクリプトガイドからapendix (http://tldp.org/LDP/abs/html/)私に' cosを私のための正しい構文を覚えて文字列を切ることはできないが重宝されています。
Closed Thread

ブックマーク

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

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

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

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




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


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

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