mko2のプロフィール

@mko2 mko2
ありがとう数5
質問数0
回答数5
ベストアンサー数
3
ベストアンサー率
75%
お礼率
0%

  • 登録日2004/08/23
  • 自動起動シェルで「su - user -c "command"」が実行できない

    初めて質問いたします。 よろしくお願いします。 OS:solaris8 OSの起動・停止時に自動起動させたいコマンドがあったので、 以下のシェル(testsh)を作成し、/etc/init.dに置き、 /etc/rc0.dにtestshに対しK99testshの名称でシンボリックリンクを作成、 /etc/rc3.dにtestshに対しS99testshの名称でシンボリックリンクを作成しました。 OS起動時には、iii.txtが削除され、 OS停止時には、jjj.txtが削除されると思うのですが、 削除されていませんでした。 OSの起動・停止時ではなく、sh -x testshで起動した場合は、 正常に動作しました。 又、suでユーザーを変更しないスクリプトに変えた場合は、OSの起動・停止時にiii.txt、及びjjj.txtが削除されていたので、 起動・停止時のsuが正常に動作していないように思います。 どなたが原因などお分かりでしょうか? 又は、手順で何か間違いなどありますでしょうか? ご教授よろしくお願いします。 以下シェル(testsh)の内容 #!/bin/sh case "$1" in start) su - user -c "rm /export/home/user/test/iii.txt" ;; stop) su - user -c "rm /export/home/user/test/jjj.txt" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0

  • 自動起動シェルで「su - user -c "command"」が実行できない

    初めて質問いたします。 よろしくお願いします。 OS:solaris8 OSの起動・停止時に自動起動させたいコマンドがあったので、 以下のシェル(testsh)を作成し、/etc/init.dに置き、 /etc/rc0.dにtestshに対しK99testshの名称でシンボリックリンクを作成、 /etc/rc3.dにtestshに対しS99testshの名称でシンボリックリンクを作成しました。 OS起動時には、iii.txtが削除され、 OS停止時には、jjj.txtが削除されると思うのですが、 削除されていませんでした。 OSの起動・停止時ではなく、sh -x testshで起動した場合は、 正常に動作しました。 又、suでユーザーを変更しないスクリプトに変えた場合は、OSの起動・停止時にiii.txt、及びjjj.txtが削除されていたので、 起動・停止時のsuが正常に動作していないように思います。 どなたが原因などお分かりでしょうか? 又は、手順で何か間違いなどありますでしょうか? ご教授よろしくお願いします。 以下シェル(testsh)の内容 #!/bin/sh case "$1" in start) su - user -c "rm /export/home/user/test/iii.txt" ;; stop) su - user -c "rm /export/home/user/test/jjj.txt" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0

  • シェルでのスペースを考慮した処理方法

    以下のようなシェルを実行しますと #! /bun/csh set A_CODE = `echo "   5555 " | awk -F\t {print $1}'` echo "$A_CODE" (5555の前後に複数のスペース文字有り) 結果--------------------------- 5555 ------------------------------- というようにスペースがなくなってしまいます。 なにか方法がありましたら教えてください。

  • ls -lで6箇月よりも前の最終修正時刻を表示させる方法

    Solaris2.6の「man ls」より引用します。 > -l 各ファイルについて、モード、ACL 表示、リンクの数、所 有 >   者 名、グループ名、サイズ ( バイト単位 ) 、最終修正時刻 >   をロング形式で出力します。ファイルが特殊ファイ ル の 場 >   合、 サ イ ズフィールドには、メジャーデバイス番号とマイ >   ナーデバイス番号が入ります。最終修正時刻が 6 箇月よりも >   前 である場合には、POSIX ロケールでは「月・日・年」の形 >   式で表示されます。 LC_TIME ロケールカテゴリが POSIX ロ >   ケー ル に 設定されていない場合には、異なった形式の時間 >   フィールドが使用されます。最終修正時刻が 6 箇月以内であ >   る 場合には、「月・日・時」の形式で表示されます。ファイ >   ルがシンボリックリンクの場合は、ファイル名を出力した 後 >   に、"->" と参照するファイルのパス名が出力されます。 ls -lで6箇月よりも前の最終修正時刻を表示させるにはどのようにしたら良いのでしょうか?ロケールカテゴリを変更すれば良いのかと思いますが、何をどのようにすればよいのでしょうか。よろしくお願いします。

  • awk詳しい方へ

    あるファイルの最終行のみ、他の行と出力形式を変えたいのですが awkとNRを使ってスマートにできないでしょうか? 詳しい方ご教授お願いします。 不細工に作ると(ファイル名xxxのとき) nnn=`wc -l xxx | awk '{print $1}'` awk '{ if (NR != $nnn) printf("%s %s \n",$1,$2) else printf("%s %s \n",$3,$4) }' aaa こんな感じでしょうか。 なんか、一行とかでかけないでしょうか?