1 名前:デフォルトの名無しさん [2005/04/04(月) 03:43:03 ] シェルスクリプトに関する質問・回答や議論等を行う相談室スレッド。
809 名前:デフォルトの名無しさん [2008/03/04(火) 17:36:26 ] >>808 即レスありがとうございます! 出来ました<(_ _)>
810 名前:デフォルトの名無しさん [2008/03/10(月) 15:02:33 ] while read lineでファイルを読み込んで その行にABCと言う文字があるかないか判定して あれば 処理1 なければ 処理2という if文での書き方教えてください
811 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 21:33:37 ] case $line in *ABC*) 処理1 ;; *) 処理2 ;; esac ってif文でかよ!
812 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:20:20 ] grepと組み合わせないと無理か。 1行ごとにgrepなんか起動したくないが。
813 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 23:24:46 ] line2=${line%%ABC*}${line##*ABC} # で削って if [ ${line} = ${line2} ]; then # 処理1 else # 処理2 fi # とか?
814 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 23:49:58 ] if [[ $line =~ ABC ]]; then echo matched else echo did not match fi こういうこと?
815 名前:デフォルトの名無しさん [2008/03/12(水) 23:35:10 ] 1レコードのXMLを、シェルを使って字下げなどを自動で行って表示させたいのですが、 なにかうまい方法はないでしょうか? --------------------------- <all><a>123</a><b><c>456</c><d>789</d></b></all> ↓ <all> <a>123</a> <b> <c>456</c> <d>789</d> </b> </all> ------------------------ というような感じで・・・
816 名前:デフォルトの名無しさん [2008/03/12(水) 23:37:16 ] ↑ すいません、4タブで字下げされてると思ってください。
817 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:48:55 ] 整形式XML全般を扱うというのは、かなり難しいんじゃないか? perlとかrubyとか使うべき。 よほど単純化されてるんなら、まずはタグ1個が1行になるように改行して、 開始タグなら字下げを増やして、終了タグなら字下げを減らして、って感じか。 ただこれでは <c>456</c> とか無理だが。
818 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 03:26:53 ] >>815 おおざっぱに手順を考えてみた。 めんどくさそうなので実装はまかせた。 1. 行の最初にあるタグとその閉じタグの間に他のタグがあれば、タグの頭で改行する。 この時にインデントの深さをタブ幅文プラスしてタグ名を記録する。 2. インデントの深さが 0 以上ならインデントする 3. タグの間にタグが無いなら閉じタグで改行 4. 記録したタグの閉じタグを見つけたらインデントの深さを減らして記録から削除。 5. 1-4 繰り返し
819 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 03:29:03 ] xmllint --format に食わせればおk
820 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 13:13:44 ] cron などによってある時刻に自動的に起動させるプロセスで、 実行開始から xxxx秒 とか経過してもまだ終了しない場合 強制的に終了させる方法にはどんな方法があるでしょうか? そして、その方法で注意しておかなければならない 点とかあれば教えてください
821 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:00:29 ] 起動したいプロセスをバックグランドで起動して、 必要な秒数sleepしたら問答無用でkillするとか。 そのプロセスが、適切な後処理のために特殊なシグナルを利用できるのなら、 killでそのシグナルを指定すればいい。
822 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:33:55 ] >>820 ロックファイルを作るタイプはプロセスだけ殺しちゃうと 困った事になるかもしれない。
823 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:44:02 ] だからそういうプロセスは適切なシグナルハンドラを用意するべきなんだよね。
824 名前:デフォルトの名無しさん [2008/03/25(火) 22:12:46 ] Cシェル(ソラリス)について教えてください。 test.txtに、helloが入っていたら、OK、 無ければ、NGと判定させたいのですが、 以下のようにしてもIF文が不正ですと言われます。 Bシェルでは、うまくいくのですが、Cシェル用の記述方法等 ありましたらアドバイスください。 if ( cat test.txt | grep "hello" ) then echo OK else echo NG endif
825 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:14:58 ] $status
826 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 00:19:08 ] >cat test.txt | grep "hello" なんでgrep "hello" test.txtにしないんだ?
827 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 08:23:26 ] B shell 使えばいいじゃん。
828 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:06:37 ] ファイル 1.txt 2.txt 3.txt test.bash が存在するディレクトリで以下の 内容を実行するとなぜ1が返ってきますか?4になぜならないのかわかりません。 --test.bash-- #!/bin/bash current_files=$(ls) echo ${#current_files[@]}
829 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:32:48 ] for で current_files の中身を見てみると分かるかと。 for file in "${current_files[@]}"; do echo "[[[$file]]]"; done
830 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 00:59:01 ] >>828 × current_files=$(ls) ○ current_files=( $(ls) ) 空白入りのファイル名があると期待通り動かないから気をつけろ
831 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 01:19:09 ] いつもそこで悩むんだけど、 空白入りのファイル名があっても大丈夫な方法ってないの?
832 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 01:46:20 ] >>831 つperl つruby つpython
833 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 02:49:45 ] つzsh
834 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 02:54:25 ] >>831 あるにはあるが、正直面倒。 1) 一時的 IFS 変更 IFS=$'\n' current_files=( $(ls) ) 2) for + ワイルドカード for file in * ; do current_files[${#current_files[@]}]=$file done 3) while + read + here strings (パイプは不可) while read file ; do current_files[${#current_files[@]}]=$file done <<< "$(ls -1)"
835 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 07:18:29 ] >>834 ほうほう・・・。3 とか凄いですな。
836 名前:828 mailto:sage [2008/03/28(金) 09:29:29 ] うぉぉ・・!激しく助かりました。 シェルなんて初めてなんでw奥が深いな。
837 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 23:14:01 ] ファイルから読んだ文字列をfindに引数として渡して、 ファイル一覧を取得するスクリプトを作りたいのですが、うまくいきません。 以下の内容でおかしな部分があったら指摘をお願いします。 ディレクトリ構成 dir +---nkf_args +---filelist.sh +---a.cpp +---b.cpp +---a.h +---b.h ---------------------------- nkf_argsファイル -name "*.cpp" -or -name "*.h" ---------------------------- filelist.shファイル #!/bin/sh #nkf_argsファイルから引数文字列取得 nkf_args=`cat nkf_args` #findで条件に一致したファイルリスト取得 files=`find ./ $nkf_args` for filename in files do echo "$filename" done
838 名前:837 mailto:sage [2008/03/30(日) 23:16:40 ] 続き スクリプト実行結果 予想値 a.cpp a.h b.cpp b.h 結果 出力無し ここまで --------------------------------
839 名前:837 mailto:sage [2008/03/30(日) 23:19:28 ] ちなみに引数ファイルに書かれているものの ダブルクォーテーションを外すことで *.cppに関する結果は得られましたが、 *.hに関する結果は得られませんでした。
840 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 00:03:22 ] 取り敢えず、filelist.shの1行目を#!/bin/sh -xにして実行してみたら?
841 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 00:32:52 ] そのfindでのORって-oだったりしませんか?
842 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 00:35:38 ] >>841 POSIXのfindなら、-orは-oと同じ(とmanに書かれている)だから大丈夫。
843 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 01:12:40 ] >>839 そのやり方を試してみました。 -------------------------------------- 出力 ++ cat nkf_args + nkf_args='-name "*.c" -or -name "*.cpp"' ++ find ./ -name '"*.c"' -or -name '"*.cpp"' + files= -------------------------------------- 出力結果を見るとダブルクォーテーション部分が、 さらにシングルクォーテーションで囲まれるから駄目なのかと思い、 ダブルクォーテーションを外してやってみました。 -------------------------------------- 出力 ++ cat nkf_args + nkf_args='-name *.cpp -or -name *.h' ++ find ./ -name a.cpp b.cpp -or -name a.h b.h find: paths must precede expression Usage: find [path...] [expression] + files= -------------------------------------- ダブルクォーテーションを外した結果は 作業ディレクトリにあったファイル名に置き換えられて 無効な引数になってしまいました。 以上の結果を踏まえて、条件に合うファイルがないディレクトリから スクリプトを実行した結果、想定していた結果が得られました。 ただ、根本的な解決になっていない(どういう動作をするか分かっていないと、正しい結果が得られない)ので、 これをディレクトリ状態に依存しないようにしたいのですが、どういう方法があるのでしょうか? よろしくお願いします。
844 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 02:42:39 ] files=`find ./ $nkf_args` を files=`eval find ./ $nkf_args` としたらうちでは上手くいったよ。
845 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 02:56:20 ] >>844 試してみたところ、想定している結果が得られました。 皆さんありがとうございました。
846 名前:デフォルトの名無しさん [2008/04/02(水) 09:40:50 ] Cシェルで、以下のようなテキストファイルに保存した内容と コマンドを組み合わせた処理をしたいと考えています。 ・command.txtの内容 grep httpd /bin/csh -f set command = `cat command.txt` ps -ef | "command" > kekka.txt 上記のように試したのですが、書式が不正の為、 エラーとなります。 ps -ef | grep httpdの実行結果を、kekka.txtに保存したのですが、 どのようにすれば良いでしょうか。アドバイスお願いいたします。
847 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 09:51:35 ] "command" → $command
848 名前:デフォルトの名無しさん [2008/04/02(水) 10:44:30 ] >>847 即レスありがとうございます。 ps -ef | "$command" > kekka.txt としても grep httpd: コマンドが見つかりません。という エラーが発生します。 ps -ef | grep httpdの実行は可能です。 何が問題となっていますでしょうか。
849 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:52:50 ] アホ
850 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:38:28 ] 847のすべての文字を100回音読しなさい
851 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:38:37 ] >>848 #!/bin/sh command=`cat command.txt` ps -ef | $command > kekka.txt
852 名前:848 [2008/04/02(水) 16:06:20 ] すみません。よく読んでダブルクォーテーションを外したところ、 正常に実行できました。ありがとうございます。 恥の書き捨てでもう一つ質問させてください。 コマンドにパイプ繋ぎで複数の指定をしたいと思ってます。 command.txtの内容が、grep httpdであれば実行できるのですが、 grep httpd | grep -v grepとすると、以下のようなエラーになります。 > grep httpd | grep -v grep > grep: | をオープンできません。 > grep: grep をオープンできません。 > grep: -v をオープンできません。 > grep: grep をオープンできません。 これを防ぐ方法は無いでしょうか。 もしくは、command.txtに「ps -ef | grep httpd | grep -v grep > kekka.txt」と 書いてあって、それをそのまま、Cシェルで実行する方法は無いでしょうか。
853 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 16:13:03 ] csh -f command.txt csh -fc "$command" csh -fc "`cat command.txt`"
854 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 16:14:04 ] >>852 ttp://www.kiso.tsukuba.ac.jp/~makimura/text/node239.html
855 名前:848 [2008/04/02(水) 17:07:37 ] >>853 ありがとうございます。<(_ _)>
856 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 00:08:25 ] >>848 source command.txt
857 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 23:56:01 ] シェルでroot権限で実行してるのに、 ファイルが作れないとか、パーミッションエラーが出る 場合があるんだけどどうしてなの? OSが同じ他のマシンじゃ正常に実行できる 細かいところでマシンの仕様がちがってるんだろうけど なんでなんだよ。root権限なのに。。。
858 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 00:29:17 ] >>857 情報が少ないな。少なくとも # ls -ld . 位は欲しい。
859 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 00:36:06 ] root でも root の書き込み属性がないと書き込めないよ
860 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 02:18:59 ] BSD系ならchflagsあたりが関係してるかもしれん
861 名前:デフォルトの名無しさん [2008/04/29(火) 22:02:37 ] bashなのですが $ tgts=`find . -name \*.\[hc\]` $ for tgt in $tgts; do cp ${tgt} ${tgt}.orig done で cp: `ここにファイル名ずらずら` にアクセス中: File name too long と言われてしまいます。 tgts=`find . -name \*.\[hc\] -printf "%p "`としてIFS=" "でも同じでした。 tgts=`find . -name \*.\[ch\] -print0`だと cp: `./aaa.h' と `./aaa.h' は同じファイルですとか言われてしまいます><
862 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 22:08:13 ] エラーの原因はよくわからないけど、パイプするかfind -execするかしたらどう
863 名前:861 mailto:sage [2008/04/29(火) 22:27:15 ] すみません bashでなくてzshでした bashだとちゃんと動きました
864 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 22:29:44 ] zshなら$tgtsが単語に分割されないから。${=tgts}だといい
865 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:00:56 ] シェルスクリプト修正の工数見積もりにあたって、修正対象のスクリプトのステップ数を出したいのですが、みなさんはどのような方法で行っているのでしょうか? よろしくお願いいたします。
866 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 20:17:06 ] >>865 先に(こっそり)スクリプトを書いて、実績を「工数見積」として出す。 シェルスクリプトを「ステップ数」で見積もるなど馬鹿馬鹿しくてやってられない。 ステップ数換算で、ど〜の・こ〜の言うのは太古のCOBOLの悪習。
867 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 06:24:34 ] >>865 そういう話はマ板向きじゃないのだろうか。 まあそれはそれとして、シェルスクリプトなんてやってることは 一般のアプリケーションプログラムに比べて小さくて特定されてるんだから 修正するのは新しく作り直すのと同義だろ。 新規作成と同額でいいんじゃね? /etc/rc.d/並みの複雑怪奇なスクリプトだったらこの話はあてはまらないが、 そういうのはperl,python,rubyで書かないのが間違い。
868 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 21:10:59 ] echo "hoge" | read Hage echo $Hage これって読み込んでくれないの?
869 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 22:57:12 ] >>868 echo "hoge" | (read Hage) の状態になって、サブシェルの変数をセットして終わる。 echo "hoge" | (read Hage; echo $hage) zshなら大丈夫。
870 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:00:26 ] 読み込むよ。これ試して味噌。 -- echo foo | (read; echo $REPLY) -- って書くために検証してたら先を越されたw
871 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:37:59 ] >>869 ,>>870 thx. でもよくわからない。 #!/bin/sh alert --info "Whitch Resolution" "1600x1200" "1280x1024" "1024x768" >RES read Res <RES && rm RES echo "Resolusion is "$Res case "$Res" in "1024x768" ) echo "mode 1024 768 32" >/boot/home/config/settings/kernel/drivers/vesa ;; "1280x1024" ) echo "mode 1280 1024 32" >/boot/home/config/settings/kernel/drivers/vesa ;; "1600x1200" ) echo "mode 1600 1200 32" >/boot/home/config/settings/kernel/drivers/vesa ;; esac #shutdown これの$Resを得たいんだが、パイプで取得できないのかと思ってのですが。
872 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:04:03 ] できないからファイルに入れてるってことでしょ。 ただ、 Res=`alert ...` とすりゃいいのにとは思う。
873 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:25:29 ] >>872 Res=`alert --info ・・・・`でいきます。 Res= `じゃダメなのか、なるほど。
874 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 06:03:17 ] bashで乱数を用いてで数値3桁(000〜999)を表示させるにはどうしたらいいでしょうか? hoge=`${RANDOM} | cut -c 2-4 ` echo $hoge としてるんですがこれだと表示が2桁や1桁のときに桁数が揃わなくて困っております。
875 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 09:33:30 ] pりんtf
876 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 09:39:08 ] ”パーセントさんエスバックスラシュn” $ほげ
877 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 09:46:34 ] あっ、間違った、>>875 ,876は忘れてくれ。
878 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 10:51:46 ] あってんじゃん。 printf "%03d\n" $hoge
879 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:32:18 ] おっ、惜しかった、0が必要なんですね。勉強になった。
880 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:39:35 ] 質問した本人はどこに消えたんだろう?
881 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:08:31 ] /dev/nullの闇に呑まれたのだった・・・
882 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 10:26:59 ] 歓呼工面でなかってよかったのう。
883 名前:デフォルトの名無しさん [2008/05/22(木) 20:42:02 ] 今、プロセス監視ツールについて調べてまして プロセスに常駐するシェルを作りたいと思ってます。 ps -ef | grep sh を実行して、常時起動しているシェルというのは、 どうやって書けばいいのでしょうか。 また、この際に表示されるPIDは、常時同じ値にしたいと思ってます。 アドバイスお願いいたします。
884 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:58:01 ] シェルをつくるのですか。 jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/CPROG/611.pdf ここいら辺を参考に頑張ってください。
885 名前:デフォルトの名無しさん [2008/05/22(木) 21:24:52 ] すみません。プロセスが常駐するシェルスクリプトを 作りたいのです。
886 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:33:17 ] #!/bin/sh while :; do :; done
887 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:43:42 ] OSによってはwatchというコマンドがあるかもしれない。 watch ps -ef なければ>>886 のdoの中身の:をps -ef ; sleep 10とかにすればいいんじゃね。
888 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:05:10 ] >>886-887 ありがとうございます 今すぐ試せないんですが、Watchやってみます。 sleepはやってみたんですが、シェルスクリプトが プロセスとして残るのではなく、sleepコマンド自体の プロセスとして残ってしまいました。 >>886 は無限ループというのは分かるんですが、 負荷が上昇したりしないでしょうか。
889 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:18:08 ] sleepは当然残るけど、親プロセスであるshも残ってないか?
890 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:24:06 ] #!/bin/sh kill -19 $$
891 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:36:54 ] >>889 それが残らなかったんです。linuxなんですが・・・。 ディストリビューションは多分centosです。 SOLARISはshが出てたんですが・・
892 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:46:28 ] つか、常駐して、何させたいのよ
893 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:11:31 ] プロセス監視ツールの検証をしたいんです
894 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:36:36 ] シェルスクリプトは監視される側? 多少負荷あがっても無駄にループしてりゃいいじゃん 気になるなら、: を sleep 1 にでも変えて
895 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:37:20 ] DOSのTSRみたいなのを作りたいってことかと思ったら違うのか。 もしかしてcronで定期実行させる方が目的にかなってたりしないか?
896 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:39:00 ] sleepしている間に食うリソースってプロセステーブル1エントリと、 コードが常駐する分のメモリ?
897 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:46:18 ] あと標準入出力&エラー出力のファイルデスクリプタとPTYのマスター&スレイブ (閉じてなければだが)
898 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:54:29 ] >>895 私もそう(TSR)思ってた上で冗談のつもりで>>890 を書いたんだが実はそういうのが欲しかったとは。 だまされた気分だぜ。
899 名前:デフォルトの名無しさん [2008/05/24(土) 01:44:25 ] エロイ人教えて $1が a b $2が c d 出力結果 a c a d b c b d どうやるの?
900 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:42:38 ] >>899 まず出力結果に至るルールを書かんかい 求めたいものが直積とは限らんからな
901 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 07:53:29 ] A="a b" B="c d" for a in $A; do for b in $B; do echo $a $b; done; done
902 名前:899 [2008/05/24(土) 12:08:55 ] >>900 やりたいことは"シェルをテストする"ためのシェルを考えてる。 テストしたいシェルに引数を与えて出力結果を別ファイルに出力する。 シェルはkシェル。 OK? >>901 サンク あと、引数にスペース(空白)も含めたいんだけど A=a b スペース(空白) A=c d スペース(空白) 出力結果 a c a d a b c b d b c d よろしくです
903 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 12:14:32 ] A="a:b::" B="c:d::" OLDIFS=$IFS IFS=: for a in $A; do for b in $B; do echo $a $b; done; done IFS=$OLDIFS 頭に蛆でもわいてるのか
904 名前:899 [2008/05/24(土) 12:37:21 ] >>903 おぉーはぇー サンク! おめ〜口は悪いけど面倒見の良いエロイ椰子だな ありがと!
905 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 07:32:25 ] scriptの中から呼び出されたprogramの処理が終了していることを 知るにはどうしたらいいですか?
906 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 08:09:45 ] kill -0 $! && echo alive
907 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 08:55:38 ] thx!
908 名前:デフォルトの名無しさん [2008/05/25(日) 23:52:01 ] root以外で動かすスプリクト内で特定のファイルをchownで所有者を 変更したいんだけsudoもexpectも使わずにできる?
909 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:07:45 ] Linuxのようにスクリプトのsetuidを無視する環境なら、 スクリプトを呼ぶだけの実行ファイルを作ってそっちをsetuidする。