• 締切済み

UNIXでテキスト→PS→印刷なコマンド

UNIXを勉強中です。 テキストファイルをPSファイルにして、すぐに印刷してくれるようなUNIXスクリプトを書いたつもりなのですが、どうもうまく行きません。 どこが間違っているのでしょう。 ちなみにプリンタはlp4160です。 #!/bin/csh -f if($#argv != 1)then echo "テキストファイルをPSファイルにして印刷します。" echo "ファイル名を指定します。" exit 1 endif a2ps -f9.8 $1 | lpr -Plp4160

みんなの回答

noname#18769
noname#18769
回答No.2

ちなみに、コマンドラインの反応はどうですか? すぐにプロンプトが帰ってきますか? それとも何も表示されないままですか? それから、コマンドプロンプトから別々に % a2ps -f9.8 foo.txt > hoge.ps % lpr -Plp4160 hoge.ps とやったときはどこでエラーが出ますか? もし1番目のコマンドが成功して、2番目のコマンドがだめならばプリンターの設定の問題でしょう。ただし、僕はプリンターの知識は全くないので、後は他の方にお任せです。

haporun
質問者

お礼

いつの間にか正常動作するようになっていました。 どうやら、プリントサーバーのエラーだったようです。 色々とどうもありがとうございました。

noname#18769
noname#18769
回答No.1

「どうもうまく行きません」というのが、具体的にどううまく行かないのか示しましょう。何らかのエラーが出るのか、何も出ないのか。エラーが出るならどういう内容なのか(変に意訳せずにそのまま)示して下さい。 # 的確な質問の仕方もUNIXで勉強すべき項目の # ひとつですね。 ちなみに、シェルスクリプト自体には問題点はなさそうに思います。

haporun
質問者

補足

プリンタの反応なしってわけです。 具体的には、スプールされていない? プリントデータを送ると、プリンタのところでIDカードを認識させて、印刷ジョブを指定する、という形式なのですが、印刷ジョブが現れません。

関連するQ&A

  • UNIX Cシェルで実数の比較

    UNIX Cシェルで実数の比較がしたいのですが、 うまくいきません 以下のような結果になります。 うまく判定するにはどうすればよいのでしょう #!/bin/csh -f set CONSIZE=-0.01 echo "CONSIZE = $CONSIZE" @ CONSIZE = $CONSIZE if( $CONSIZE < 0.0 )then echo " 0以下;;; $CONSIZE" exit endif 実行 CONSIZE = -0.01 @: 数値形式が正しくありません。

  • NTのバッチを会話形式にしたい

    WindowsNT4.0(SP6)で、バッチファイルを作ろうと思っています。 会話形式で標準入力からの入力待ちで処理を止めたいのですが、どうしたらいいのでしょうか? Solarisなら下のような感じなのですが、Windowsではどうやったらいいのかわかりません。 どうか教えてください。 Solaris(csh)の場合・・・ #!/bin/csh echo -n "年齢入力" set innum=$< # if ($innum < 19)then echo "あなたは成人ではありません" else echo "あなたは成人です" endif exit

  • unixのsourceコマンドについて教えて下さい

    環境変数設定で ファイル(hoge.env)に #!/bin/csh set TEST=a と書きます。 unix> source hoge.env と実行すると、$TESTに環境変数が入ることを確認できますが ファイル(hoge.csh)に #!/bin/csh source hoge.env と書き実行すると、環境変数が設定されません。 最近まで、hoge.cshと実行し問題なく環境変数が設定されていたのですが今日は、これまでと違い環境変数が入りません。 こんなことってあるのでしょうか? OSはSunOS 5.8です 以上よろしくお願いします。

  • UNIX

    UNIXの課題をやっていて、ここまで出来たのですが???の部分が 分かりません;誰か教えて頂けると助かります; 時間があれば説明も加えて頂けたら幸いです; #!/bin/bash #ふたつの引数の大小を判断し表示するシェルスクリプト if [ $# -lt 2 ] then echo "引数が足りません" exit fi cmp1=$1 cmp2=$2 if [ $cmp1 -gt $cmp2 ] then echo "$cmp1 ??? $cmp2" elif [ $cmp1 ??? $cmp2 ] then echo "$cmp1 = $cmp2" else echo "$cmp1 ??? $cmp2" fi

  • UNIX形式のテキストファイルをDOS形式に変換する(cshで実行したい)

    UNIX形式のテキストファイルをDOS形式に変換するというbash以下のシェルをcshで書き換えたいのですが、どうすればよいでしょうか #!/bin/bash # u2d.bash set infname = "$1" set outfnname = "$2" cat "${infname}" | sed "s/$/`echo -ne '\015'`\" | iconv -f EUCJP -MS -t CP932 > "${outfname}" 出展:linuxWorld (株)IDGジャパン発行 1月号 P53

  • UNIXとWindowsのプリンタの扱いについて

    UNIX系OSでlp、lprコマンドで印刷を行う場合、データをPostscriptに変換するのはなぜでしょうか? また、Windowsでは、印刷を行う場合、データの形式をどう判断して、印刷しているのでしょうか? UnixとWindowsでどのように違うか教えてください。

  • UNIXからの印刷

    私はUNIXの初心者なのでよくわかりません。 OSはCOMPAQ製のTru64 UNIXです。 UNIXからLAN上で印刷させたくてプリンタについて調べていたのですが、基本的なところが全然わかりません。 いろいろ調べてみて印刷用としてエプソンのLP-8100とTCP/IP対応Ethernet I/Fカードで考えていたのですが、I/Fカードについて問い合わせたらTru64 UNIXでは動作検証をとっていないと言われました。 http://www.i-love-epson.co.jp/products/printer/laser/tokucyou/network.htm 全くわからないのでUNIXからの印刷させるための方法やお勧めのプリンタを教えてください。 それと調べているときに何度か目にしたpostscriptというものについて調べてみたのですがイマイチわかりません。 これはUNIXから印刷するときに必要なものなのでしょうか? 誰かわかりやすく説明してください。 お願いします。

  • if文について

    cshで書いています。 if文がとおりません。。。 0: Event not found. このようなメッセージが出力されます。 if ($flg == "xxx") then echo "aaa" else if($flg == "yyy") then echo "bbb" exit else echo "ccc" exit endif 内容は上記のような感じです。 どなたか教えて下さい。

  • getoptsの使い方を教えてください

    sh組み込みのgetoptsではなく、/bin/getoptsをcshスクリプトの中で使用してみようと試みmanを読んでみたのですが上手く動作せず、getoptsの使用方法を教えて頂きたく思っています。 例として、optionを -a -b <file> のようにaと引数を取る-bを使用することが出来るような場合に関して具体的にスクリプトはどのようになるのでしょうか? イメージとしてはcshで以下のようなものになるかと思われます: #! /bin/csh -f set noglob set mode_a = "" set mode_b = "" set mode_b_file = "" while ($#argv) switch ($1) case -a : set mode_a = 1 breaksw case -b : set mode_b = 1 if($#argv >= 2) then shift set mode_b_file = $1 else echo "[Error]: -b is followed by <file_name>" exit 1 endif breaksw default: echo "[Warning]: ignored option $1" endsw shift end echo "option a is $mode_a b is $mode_b b_file is $mode_b_file" exit 0 以上宜しくお願いします。

  • 外字入りテキストファイルのコマンドラインでの印刷

    Shift-JIS形式で保存されているテキストファイルを コマンドラインで印刷する方法についての質問です。 現在、自分の環境では、テキストファイルは、 適当に字詰めを変えて整形し、eucに変換してから、a2ps経由で linux boxに直接接続されているプリンタにlprを使って印刷しています。 同じようなテキストファイルで、外字が入っているものがあります。 外字データはTrueType(.tte形式)で保存されたものを用意しています。 これを活かしてテキストファイルを外字込みで印刷するには どのような方法を取ればいいでしょうか? 文字コードの問題、postscriptとフォントファイルの指定の問題等 気がついたところから回答いただければ幸いです。