• 締切済み

AIX上で実行するKshについてですが、

AIX上で実行するKshについてですが、 echoでファイルにリダイレクトした時の戻り値を「$?」で取得する事は可能でしょうか? 実行環境が無い為、確認する事ができません。 申し訳ありませんが、ご教授願います。

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

echoコマンドに戻り値があるかどうかですかね。あれば$?で取得可能ですけど。 リダイレクト先に関して戻り値を知りたいならどうなのですかね。 リダイレクト先が、存在しているか、書き込み可能かは事前に判断可能ですが、空きがあるかどうかはわかりませんのでね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シェル(sh)で実行コマンドを標準出力するには

    kshでコマンドを実行して結果をファイルにリダイレクトしています。 結果のみファイルに出力され、実行したコマンドを確認することができません。 実行コマンドも一緒にファイルに出力する方法がありましたら教えてください。 なお、実行コマンドをechoするってのはなしで。 多量のコマンドを実行する場合にめんどくさいので。

  • 実行中のコマンドを、ログアウト後もバックグラウンドで実行させる方法(ksh)

    ksh環境において、実行中のコマンドをログアウトしてもそのまま実行させる方法を教えてください。 ctrl+zでサスペンドにし、jobsでjob番号を確認してbg %<job番号>でバックグラウンドにするのはできましたが、exitでログアウトしターミナルを抜けるとjobが無くなってしまいます。 bashならdisownというコマンドがあるそうなのでdisown %<job番号>でいけるのではないかと思うのですが、kshではdisownに相当するようなものがあるのでしょうか? コマンド実行前なら『nohup <コマンド> &』でできるのは確認済みです。

  • kshでのcase文条件範囲について

    AIXのkshにおいて、case文の中で特定範囲に該当する場合に結果を真とするスクリプトを組みたいと思います。 例を挙げると #!/bin/ksh i=`date +%H` case $i in   今が6時から18時の場合は)   echo "昼"   ;;   今が19時から5時の場合は)   echo "夜"   ;; esac といった具合です。 上記はものすごく単純化していますので、実際には条件はもっと大量になります(機密上詳しく申し上げることは出来ません)。 上記に該当するスクリプトを組みたい場合、 )の前の値はどのように指定すればよいのでしょうか?

  • Kシェルのリダイレクト

    Kシェルのリダイレクト シェル初心者で申し訳ございませんが、ご教授いただけたら幸いです。 やりたいこと  xxx.kshの実行ログを出力したい。 出力したいログは、以下コマンド実行時に標準出力されるログをファイルへ落としたい。 尚、実際の実行コマンドは、ksh -xは入力しません。 $ ksh -x ./xxx.ksh 上記コマンドを実行すると、詳細なログが表示されるのですが、ファイルへ落としたいと思います。 分かりづらいかも知れませんが、宜しくお願い致します。

  • 別のサーバーでコマンドを実行するには

    echo exec('whoami'); という風にexecでコマンドを実行して戻り値を表示するプログラムがあります、これを別のサーバーで実行して戻り値を出力したいのですが方法はないでしょうか? Aサーバー(コマンド) → Bサーバー(実行) Aサーバー(出力) ← Bサーバー(戻り値) といった具合です、postかgetで置くってリダイレクトするような方法しかないのでしょうか?

    • ベストアンサー
    • PHP
  • KSHでの文字列操作

    はじめまして。お教授下さい。><。 下記のようなファイルがあったとしまして、 それぞれ「;」までの文字列を、ファイルの頭からLOOPで取得して表示させたいと思っています。 ↓↓(FILE_START) aaa a aaa ; bb bb bg; ccccc; ↑↑(FILE_END) 【答え】 aaaaaaa; bbbbbb; ccccc; (改行はあってもなくても、無視して頂いて問題ありません) これを、kshで書くにはどうしたらいいでしょうか。 (見やすくレスポンスがいいと、とても嬉しいです。。) 初歩的な質問で申し訳ありません。 なにとぞ宜しくお願い致します。><。。

  • 変数の文字操作につきまして

    お世話になります。 AIX環境で以下の処理でファイルをのタイムスタンプを取得しようとしています。 ところが、2行目の結果が"0130422"となり、1桁欠けてしまいます。 単純にtailの数を9にすれば期待値が得られますが、理由が分からないままでは 9にすることが出来ません。業務で使用するスクリプトのため。 どなたか、原因の分かる方でご教示頂ける方、何卒、よろしくお願いいたします。 HOGE=/path1/path2/path3/hogehoge_20130422.log echo `basename ${HOGE} .log | tail -c8` OS:IBM AIX 7.1 shell:ksh よろしくお願いいたします。

  • AIX kshスクリプトのtar+compressを1行で書く方法について

    こんにちは。はじめまして、hisatoと申します。 AIX kshスクリプトのtar+compressについて 質問がございます。 基本は下記の通りで問題なく完了するのですが、 # アーカイブ処理 tar -cvf - <固める対象のファイル名> | compress >圧縮ファイル名.tar.Z 下記の処理にすると、エラーが発生してしまいます。 tar -cvf - -L <固める対象のファイル名リスト> | compress >圧縮ファイル名.tar.Z tar: 次のフラグにはパラメータが必要です: L 使用方法: tar -{c|r|t|u|x} [-BdFhilmopsvw] [-Number] [-fFile] [-bBlocks] [-S [Feet] [Feet @Density] [Blocksb]] [-LInputList] [-NBlocks] [-C Directory] File ... -Lを使用する場合は、-オプションを使用して新規アーカイブ・ファイルを作成し、 そのアーカイブ・ファイルをcompressに渡すことはできないのでしょうか? 以上、ご教授お願いいたします。

  • 実行結果を戻り値で取得したい

    MS-DOSバッチの実行結果を文字列で取得したいです。 イメージ例としては、下記のようなバッチ2つがあり、 バッチAを起動します。そうすると実行結果の戻り値として 「TEST」という文字列が取得できたら良いです。  ※下記例では「ERRORLEVEL」に入っているようなイメージです。 しかしながら、ERRORLELVEに格納できるのは数値のみの為、 エラーになってしまいます。 どうすれば、実行結果を戻り値で取得できるでしょうか? お手数ですが、MS-DOSで不可能な場合、VBScriptやWSHでも かまいませんので、処理をキックしてその戻り値を文字列で取得する方法を お教えください。お願いいたします。 -------------------------------- 例 【バッチA】 call バッチB echo %ERRORLEVEL% 【バッチB】 exit /b "TEST" -------------------------------- と実行し

  • vbsでのコマンド実行について

    お世話になります。 現在、vbs内でRunメソッドとExecメソッドを使用してコマンドを実行しています。 一応、自分の求めている処理はできたんですが・・・ 戻り値を取得する為にExecメソッドでコマンドを実行する記述があるのですがコマンドプロンプトが表示してすぐに消えてとぱかぱかしてしまっています。 そこで皆さんに質問があり、投稿しました。 コマンドをExecメソッドで実行している所をRunメソッドで実行するように変更してみましたがうまくいきませんでした。 ※変更したのはコマンドの最後に「> 20161111.txt」を追加してテキストファイルに出力させるようにコマンドを変更しました。一応、コマンドプロンプトで直接、コマンドを実行したら問題なく戻り値が「20161111.txt」内に出力されるのを確認しました。 objShell.Run ”C:\ ~.exe ・・・ 20161111.txt”, 0, True 説明が下手でうまく伝える事ができたのかが心配ですがどうか私にご教授いただけませんでしょうか。 何卒、宜しくお願いします。