1 名前:名無しさん@お腹いっぱい。 mailto:sageteoff [2015/08/14(金) 23:42:01.51 .net] シェルスクリプトの総合スレです。 □お約束 ・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。 FreeBSDユーザは/bin/shの正体がashなので注意。 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。 src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/ heirloom.sourceforge.net/sh.html ・csh/tcshのシェルスクリプトは推奨されません。 (理由は「csh-whynot」でググれ) ・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 manや参考リンクを見ましょう。 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 ・シェルで使えるワイルドカード等は正規表現ではありません。 正規表現の話題はスレ違い(正規表現スレへ) ・シェルスクリプトのことをシェルってゆーな □初心者へのアドバイス: ・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも awkまたはperlの方が適した処理にはそちらを使いましょう。 ・知らないコマンドが出てきたらmanを引きましょう。 ・思い通りに動かないときは、まずは sh -x でトレースしましょう。 □回答者への注意事項: ・シェルスクリプトでの処理方法を質問しているのに、よくわからずに 「そういうのはperl使いましょう」と回答するのはやめましょう。 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。 前スレ シェルスクリプト総合 その24 peace.2ch.net/test/read.cgi/unix/1415634843/
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 11:50:28.49 .net] perl入ってる環境使う機会なんて もうほとんどなくなったなぁ
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 12:05:03.09 .net] 初版から標準対応しているものでないと使いにくいよね。
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 14:20:28.02 .net] 入ってなくて、入れていいなら入れるもの
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 14:29:50.01 .net] 入れ替えるのはどこかで不都合があるかわかったもんじゃないからな。
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 15:13:44.93 .net] 本体ロム領域4MBのルーターのtelnet接続で動く技でお願いします。 >>256 は動きそうなので合格だけどssl非対応なので不合格。 >>266 はopensslコマンドがないので落第です。 もっと頑張ってくださいよ。
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 16:28:48.50 .net] 条件後出し北w
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 17:44:47.81 .net] そもそも前出ししてないけどな >>250 の条件は一番汎用的ということで完結しているので、それより解きやすい派生のお題だろう。
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 17:49:54.77 .net] じゃ、その4MBのROMの中身、開示しないとだめだろ。 つーか、なんか白けてきた。。。
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 17:50:49.65 .net] それは>>274 に聞いてくれ
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 17:55:37.06 .net] >>277 root# busybox BusyBox v1.22.1 (2014-09-20 22:01:35 CEST) multi-call binary. BusyBox is copyrighted by many authors between 1998-2012. Licensed under GPLv2. See source distribution for detailed copyright notices. Currently defined functions: [, [[, arping, ash, awk, basename, brctl, bunzip2, bzcat, cat, chgrp, chmod, chown, chroot, clear, cmp, cp, crond, crontab, cut, date, dd, devmem, df, dirname, dmesg, du, echo, egrep, env, expr, false, fgrep, find, free, fsync, grep, gunzip, gzip, halt, head, hexdump, hostid, hwclock, id, ifconfig, kill, killall, less, ln, lock, logger, ls, md5sum, mkdir, mkfifo, mknod, mkswap, mktemp, mount, mv, nc, netmsg, netstat, nice, nslookup, ntpd, passwd, pgrep, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, readlink, reboot, reset, rm, rmdir, route, sed, seq, sh, sleep, sort, start-stop-daemon, strings, switch_root, sync, sysctl, tail, tar, tee, telnet, telnetd, test, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, wc, wget, which, xargs, yes, zcat
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 18:25:47.79 .net] wget使えんのか?
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 18:28:57.45 .net] busyboxでwgetは使えるが、httpsには対応してない。(httpとftpのみ)
289 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 19:30:56.44 .net] 最近はスクリプトと言えばbusyboxの仕事ばかり。 perl使いは社史編纂室に送られたw
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 19:31:25.90 .net] 条件を増やしても減らしても後出し 元々の条件 httpsでファイル入手するスクリプトで一番汎用的な書き方ってなんだろう? 後出し条件 4MBのルーターのtelnet接続で動く技で
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 20:02:22.82 .net] >>283 前者は汎用的、後者はカスタムで、条件が正反対だろうが
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 20:08:32.27 .net] 条件は部分集合だろ?
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 20:11:56.40 .net] いまどきだとtelnetがなくてsshだけだったりするのもあるのだろうか?
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 20:25:44.06 .net] >>285 違うからブランチだと言ってるんだろう。そもそも別人なので後出しも前田氏もない。
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 20:52:44.89 .net] へぇ〜別人ねぇ〜 別人が横から条件変えてるのか 何故に言い切るの? あほらし。相手して損した
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:01:10.94 .net] >>288 250だけど何か質問ある?
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:16:23.39 .net] grepを破壊的に使うことってできます? あればおしえてください 他のフィルタ系コマンドでも応用できるものだとよりよいです
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:38:58.20 .net] >>288 リテラシー低いよ
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:44:05.23 .net] >>290 (rm file; grep hoge >file) <file Cygwinじゃ無理かも
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:47:39.67 .net] あとファイルシステムの容量が不足したら 元ファイルまで失われるという欠陥もある
301 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:48:19.00 .net] >>288 >>279 で条件提示したんだから、この中のコマンドで完結できる案を出しなさいよ
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/08(火) 21:49:52.56 .net] >>292 できました(Cygwin64でも ありがとうございます!
303 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 05:48:14.80 .net] 初歩的な質問ですみません。 find . -type f -name '*.txt' と find . -name '*.txt' -type f は、どっち良いとかありますか?
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 07:16:13.77 .net] >>282 まじかw ワロタ
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 07:31:45.64 .net] >>296 どっちでもいいよ ほとんどプレーンファイルっていう普通の状況なら、 名前を先に判定したほうが計測できないレベルで速いかもしれない
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 08:02:20.09 .net] wget、通常ならHTTPS (SSL/TLS) Optionsがあって、オプション指定できるが busybox組み込みのwgetは、軽くするため、httpsオプションなしでコンパイルされ てるのかな。
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 08:48:45.97 .net] コンソールから、2chのスレ(たとえばココ)に投稿するような スクリプト使ってる人いますか?
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 09:01:58.85 .net] >>296 レギュラーファイル以外のディレクトリとかが1000万個あるなら、名前を比較しないで済む前者の方が良いかもしれない
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 12:39:47.97 .net] >>299 wgetがhttps対応したのは後出しなんじゃないか? busyboxが登場した頃のwgetでは標準では無かったと思われ
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 12:53:18.77 .net] そもそも軽くするのにashなんて必要だろうか?
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 13:12:18.13 .net] >>303 他の選択肢は?
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 13:38:24.81 .net] 2001年からHTTPSサポートしてるんだぜ それ以上古い環境なんて考慮する必要ないよ
313 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 14:03:30.45 .net] そんな事言ってる奴はbashとopensslの穴に落ちるがいい。 なんと言われようとshが標準
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 15:56:58.29 .net] >>298 >>301 ありがとうございます、実質変わらないんですね。 気にしないことにします。
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/11(金) 00:02:46.91 .net] https://git.busybox.net/busybox/log/networking/wget.c wget: add support for https using "openssl s_client" as a helper Denys Vlasenko 2014-02-22
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/11(金) 00:30:35.95 .net] >>296 そういう時は time コマンドを使って CPU 時間計測するというのも手だぞ。
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/11(金) 01:31:31.62 .net] ROMが4MBの余ったbuffalo製ルータにopenwrt1505入れてみたわ root@OpenWrt:/# wget https://192.168.1.1/ Connecting to 192.168.1.1 (192.168.1.1:443) wget: can't execute 'openssl': No such file or directory wget: error getting response: Connection reset by peer root@OpenWrt:/# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 448 232 216 52% / /dev/root 2304 2304 0 100% /rom tmpfs 14368 524 13844 4% /tmp /dev/mtdblock5 448 232 216 52% /overlay overlayfs:/overlay 448 232 216 52% / tmpfs 512 0 512 0% /dev 初期状態ですでにfilesystemの空き容量216KB こりゃムリゲーだわ
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/11(金) 13:13:34.04 .net] >>310 おつかれちゃん。 というわけで、4MB ROMで、httpsの話題は糸冬了とさせていただきます。w
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 02:38:13.55 .net] >>309 ありがとうございます。 15000個のディレクトリと120000個のファイルが入ったディレクトリで 何度かやってみましたが特に違いはありませんでした。
320 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 12:37:42.64 .net] >>310-311 ちょっと待った、216KBあればスクリプト何行書けるよ? 前スレのRSA暗号のスクリプトの10倍程度に膨れたとしても余裕で入らないか?
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 14:30:14.68 .net] >>313 エラーメッセージ読めないなら黙ってなよ
322 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 14:35:22.38 .net] openssl相当をシェルスクリプトで書くっていう 意味だと読み取れないなら黙ってろよ
323 名前:名無しさん@お腹いっぱい。 [2015/12/12(土) 16:50:31.02 .net] vagrantで仮想サーバー環境を作っていて provisioning.shというファイルを作りvagrantを立ち上げたときの初期動作を指定しているのですが sudo yum install postfix -y としたあと sudo alternatives --config mta とすると番号を聞かれるのですが、1番のpostfixを選びたい場合どう書けばいいのですか? sudo yum install -yと書くと途中のyes/noをyにしてくれる、というようなことがしたいのですが
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 20:01:02.92 .net] >>315 ぷぷぷぷ、RSAの他に最低でも 楕円曲線暗号、メッセージダイジェスト、asn1デコーダ、エンコーダ、pemエンコーダ、デコーダー 作ってから言ってね。
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 20:44:59.01 .net] 楕円曲線暗号、メッセージダイジェスト、asn1デコーダ、エンコーダ、pemエンコーダ、デコーダーが シェルスクリプトだけで作れない証明は?
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/12(土) 21:06:08.70 .net] >>318 作って公開したら全員黙るよ
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 01:42:09.87 .net] 後、共通鍵暗号も要るね ワクワク
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 02:03:11.75 .net] なんかガキが出てきて凄そうなキーワード上げてるって感じにしか見えん
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 02:21:22.86 .net] x509って知ってる? 楕円曲線暗号は必須じゃないけど他は全部必要だよ。
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 03:26:03.62 .net] っていうか、作り方わかってるなら組めるだろ 自分で作れないものを挙げろよ
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 07:04:17.98 .net] >>316 man alternatives man update-alternatives か何かで調べると --config 以外の非対話的オプションが有るが それは使えない?
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 07:30:11.14 .net] >>323 キミが全部作って>>266 相当を実証して見せれば、みんな黙るよ
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 08:06:26.59 .net] 他の解決方法でなく シェルスクリプトで openssl を実現しようと云う発想をする時点で、 しかも条件を提示したんだから解決方法を出せとか (別の意味で)黙るよね
334 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 09:08:35.94 .net] 実現不能な提案は妄想って言うんだよ で、お前は実装できるの?
335 名前:名無しさん@お腹いっぱい。 mailto:age [2015/12/13(日) 11:05:38.72 .net] できるよ。無意味だからしないけど。 黙らなくていいよ。グズグズ言い続けて。
336 名前:名無しさん@お腹いっぱい。 [2015/12/13(日) 11:19:13.11 .net] 世界初だから全然無意味じゃない。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 13:45:47.64 .net] bashでOSを判別しようと思ってて、シェル変数OSTYPEで判別するのがいいのかなと 思ってるんですが、もっとよい方法ありますか? あとHP-UX 11iのbashでシェル変数OSTYPEは何になっているか、わかる方はいますか?
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/13(日) 13:57:10.41 .net] uname
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/18(金) 20:07:27.08 .net] telnet で季節ものを。 telnet ネタコードにネタを重ねています GNU sleep を使っています ワンライナー i=-1; while [ $(( i += 1 )) -le 9 ]; do { sleep 1; printf 'open vt100.net 80\n';\ sleep 3; printf 'GET /animation/xmas'"$i"'.txt HTTP/1.0\n\n'; sleep 3; } | telnet -8\ | while IFS= read -r line; do echo "$line"; sleep 0.08; done; printf \ 'Watch More? ( Yes / No ): '; read ans; case "$ans" in n|N|no|NO) i=99;; esac; done 視線が...さ、寒い 良いお年を そういえばこんなのも telnet nyancat.dakko.us
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/18(金) 20:08:17.92 .net] スクリプト #!/bin/sh i=-1 while [ $(( i += 1 )) -le 9 ] do { sleep 1 printf 'open vt100.net 80\n' sleep 3 printf 'GET /animation/xmas'"$i"'.txt HTTP/1.0\n\n' sleep 3 } | telnet -8 | while IFS= read -r line do echo "$line" sleep 0.08 done printf 'Watch More? ( Yes / No ): ' read ans case "$ans" in n|N|no|NO) i=99;; esac done
341 名前:名無しさん@お腹いっぱい。 [2015/12/19(土) 01:54:54.83 .net] 328が来年のusenixでopenssl相当のシェルスクリプトの実装を発表する
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/20(日) 02:31:00.77 .net] それは宣言ですか?絶対当たらなそうな予言ですか? とりあえずopenssl相当の処理なんて必要かな? 課題的には鯖から落とせればその相手が本物かどうかなんてどうでもいいんじゃない? と言っても鍵は送る方が指定するみたいから肝心な暗号処理で手抜きは効かなそうだな。 処理自体は計算式で表現できたりする程度のものだけど、数がバカでかいからそのまま丸投げだと無理かも?
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/20(日) 16:46:55.74 .net] >>300 です。 やっと、コンソールから2chにかきこできるようになりました。 ま、Perl使ってですが。。。 改行ちゃんと入るかな?
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/20(日) 18:14:25.11 .net] 前スレで質問して、 「UNIXでもメモリクリーニングはできる」と回答をもらった者です。 そこで早速perlを使って、perl -e 'while (1) { fork; }' を実行してみました。 で、メモリクリーニングはいつ終るのでしょうか? 念のため、PCケースを開けてみましたが、 メモリ表面の汚れは取れていませんでした。 やはりUNIXはメモリクリーニングに対応していないのでしょうか?
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/20(日) 19:12:40.94 .net] perl -e "fork while fork" &
346 名前:名無しさん@お腹いっぱい。 [2015/12/20(日) 21:35:35.99 .net] >>336 cpanのどれ利用した? それとも使ってない
347 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/20(日) 22:33:07.03 .net] quine in computing, a program producing its complete source code as its only output without simply opening the source file of the program and printing the contents (such actions are considered cheating). b=\' c=\\ a='echo -n b=$c$b c=$c$c a=$b$a$b\;; echo $a';echo -n b=$c$b c=$c$c a=$b$a$b\;; echo $a
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/21(月) 16:40:57.79 .net] >>337 表面はきれいに見えても、接続口が汚れてることはよくある。 接続部の汚れはなかなか落ちないから4ヶ月ぐらい待ってみて。
349 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/21(月) 18:49:28.81 .net] quine で fork bomb b=\' c=\\ a='yes $( echo -n b=$c$b c=$c$c a=$b$a$b\;; echo $a ) | sh &';yes $( echo -n b=$c$b c=$c$c a=$b$a$b\;; echo $a ) | sh & Quine Program c2.com/cgi/wiki?QuineProgram
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/21(月) 23:00:15.84 .net] 勉強でシンプルなものを作成しました #!/bin/bash while : do usr=`id | cut -d
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/21(月) 23:01:19.62 .net] 勉強でシンプルなものを作成しました #!/bin/bash while : do usr=`id | cut -d" " -f 1 | sed -e "s/^.*(\(.*\)).*$/\1/g"` echo -n -e "\033[s" D=$((`tput cols` - 8)) tput cup 1 $D COLOR=`tput setaf 4; tput smso` NORMAL=`tput sgr0` echo -n $COLOR$usr$NORMAL echo -n -e "\033[u" sleep 1 done 右上にユーザーを表示する単純なものです。 ログインユーザーでログインして実行したあとに、sudoでrootになっても右上にはログインユーザーが表示されたままとなります。 これは実行時のユーザーだからだと思うのですが、sudoでrootになった時にはrootに表示を変更する方法はありますでしょうか?
352 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/21(月) 23:56:53.33 .net] id -un - or - whoami
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/22(火) 00:13:25.17 .net] 現在の tty で sudo を使っている場合、その user name を表示したい とエスパー解釈した上で usr=`id | cut -d" " -f 1 | sed -e "s/^.*(\(.*\)).*$/\1/g"` の下にでもこれを挿入 if str=$( ps T -o user,comm | grep [s]udo ) then usr=$( echo "$str" | cut -d ' ' -f 1 ) fi
354 名前:344 mailto:sage [2015/12/22(火) 00:15:04.92 .net] >>345 回答ありがとうございます。 該当部分をid -unやwhoamiに変更しても状況に変化は見られませんでした。 何か間違った書き方をしてしまっているのでしょうか。
355 名前:344 mailto:sage [2015/12/22(火) 00:22:29.80 .net] >>346 回答いただきありがとうございます。 こちらのほうで実現できました。 psの方から取得するということでしょうか。 whileループの中でidで取得していたので更新されると思っていたのですが そうでもないようですね。 なぜかは理由はわかりませんが…。 回答いただきありがとうございました。
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/22(火) 00:45:28.49 .net] そのスクリプトをバックグラウンドで起動して ps Tf すると分かるかも 10995 pts/0 Ss 0:00 bash 21436 pts/0 S 0:00 \_ /bin/bash ./printUser.sh 8101 pts/0 S 0:00 | \_ sleep 1 8065 pts/0 S 0:00 \_ sudo sleep 10 8066 pts/0 S 0:00 | \_ sleep 10 8102 pts/0 R+ 0:00 \_ ps Tf 対話シェル bash の下でスクリプトが別プロセスで起動されています sudo sleep 10 を起動していますが、これも別プロセスです
357 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/22(火) 08:00:39.33 .net] PROMPT_COMMAND参照する端末(gnome-terminalやlxterminalなど)だったら それを使う手もある 以下の内容を適当なファイル(たとえば/etc/bash.display_user)に書いて D=$((`tput cols` - 8)) POS="`tput cup 1 $D`" COLOR="`tput setaf 4; tput smso`" NORMAL="`tput sgr0`" PROMPT_COMMAND='echo -ne "\033[s$POS${COLOR}${USER}${NORMAL}\033[u"' /etc/bash.bashrcか自分の.bashrc、rootの.bashrcで . /etc/bash.display_user してやればいい
358 名前:348 [2015/12/23(水) 08:30:02.70 .net] ID変わってますが348です。 その後の回答を、試してみていろいろとわかりました。 Linuxなどにおける動作で幾つか思違いしているところもあり勉強になりました。 ありがとうございました。
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/23(水) 23:18:50.99 .net] IDが変わったようには見えないが
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/23(水) 23:40:21.98 .net] ていうかIDが見えないが
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/24(木) 04:08:04.27 .net] 2chMateなら見えるよ
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/24(木) 12:24:50.59 .net] 本質的でないところでばかり実力を揮発するクラスタの皆さん! コンニチワ
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/24(木) 18:48:12.28 .net] >>353 ワロタw
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/24(木) 18:59:35.38 .net] スレ違いすんません。 >>339 >>336 です。 LWP::UserAgent; use HTTP::Request::Common qw(POST); use HTTP::Cookies; ggrば出ます。 スレURIの最後の数字列、タイトルから検索して常に最新の数字列を内で取得するようにして、現状、 echo "ほげほげ" | 2ch_put.pl $SURE で、投稿できるようにしてみた。嵐はしてないよ。
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/24(木) 19:23:37.34 .net] >if str=$( ps T -o user,comm | grep [s]udo ) 常に0のような気がするが、そうじゃないんだな。 str=aaa や str="" は0だけど、失敗すると1か。 勉強になりますた
366 名前:名無しさん@お腹いっぱい。 [2015/12/25(金) 00:19:36.63 .net] >>357 thanks
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 12:03:43.83 .net] =>>290 なんですけど>>292 の仕組みが理解できてないので誰か解説してくださいませんか? いつファイルがうまくreadされるタイミングとか それから関係ないんですけどsedの-iってPOSIX非準拠ですか?
368 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 12:23:52.45 .net] -iは引数のあるなしで動かなかったりするな
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 15:36:01.26 .net] >>360 いつって言ってもgrepがreadした時に読んでるのだが…。 たぶん分かってないのが、unixではファイルをオープンした状態でファイルを削除できるってこと その場合ディレクトリエントリは消えるがファイル自体は残っているので ファイルのread/writeは変わらず出来る
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 19:29:04.42 .net] >>360 外のシェルがopenする 中のシェルでrmがunlinkする 中のシェルがopenしてfileができる grepがreadしてwriteする grepがexitしてどっちもcloseする
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 19:29:18.22 .net] >>362 しかしエントリから消えたハードディスクのブロックは再利用可能な状態なわけですよね? もしそうなら二回目にオープンしたとき領域が重なってしまうことはないのですか?
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 19:37:36.75 .net] >>364 closeして誰も参照しなくなるまではi-nodeも含めて再利用されないよ
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/27(日) 19:56:03.56 .net] >>365 そうなのですか!初めて知りました ありがとうございます!すっきりしましたよ!
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/01(金) 11:20:57.19 .net] Happy New Year! wget -O - 'artscene.textfiles.com/vt100/new_year.vt '| while IFS= read -r line; do echo "$line"; sleep 0.08; done wget -O - 'mirror.bagelwood.com/textfiles/art/newyears.art '| while IFS= read -r line; do echo "$line"; sleep 0.08; done
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/01(金) 22:44:41.53 .net] a happy new yeah. >>367 素晴らしい!
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/02(土) 22:52:05.39 .net] 有難う!ファイルを書いた人は素晴らしいよね
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/14(木) 11:46:10.89 .net] 質問です テキストファイルだけのデータベースを作ろうと思ってます どんなシェルスクリプトを書けばいいと思いますか 皆さんのお知恵をお貸しください あとシス管系女子に登場するみんとちゃんのスリーサイズが分かりません 知っている人がいたら教えて下さい よろしくお願いいたします