[過去ログ] くだらねえ質問はここに書き込め! Part 234 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
301
(1): 2018/12/09(日)11:15 ID:/RuDibjk(1/2) AAS
>>295
空文字列に一致している
改行はパターンの一部ではなく、複数のパターンの区切り

$ echo -n 'abc' | grep -o 'a
b'
a
b
$

外部リンク[html]:pubs.opengroup.org
> The pattern_list's value shall consist of one or more patterns separated by <newline> characters;
302
(1): 2018/12/09(日)13:18 ID:/RuDibjk(2/2) AAS
>>298
bashの場合、コマンドを実行するよりも前の時点で
bashが引数に含まれるNULを取り除いている

$ echo ab$'\0'c | hexdump -c
0000000 a b c \n
0000004

なのでbashでは
grep $'\0' は grep '' と同じで
grep ab$'\0'c は grep abc と同じ

zshではNULを含む引数もそのままコマンドに渡しているので違う結果になる
303: 2018/12/09(日)14:31 ID:oLpqFNSA(1) AAS
昔はttyの1番にだけ背景にペンギンの絵とか表示されてたと思うんだけど
これっていつから無くなったの?
KMS導入後?
304
(1): 297 2018/12/09(日)19:39 ID:4X3RO9or(3/4) AAS
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < 改行が入っているテキスト
をファイルを使わずにシェルスクリプトにして変数にして読み込ませたいのですが、

STD_IN="JP\nTokyo\nChuo-ku\n(省略)"
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < ${STD_IN}

とやっても、ファイルが見つかりませんと出てしまいました。
変数の入れ方は1行に入れるのか、ヒアドキュメントみたいな形にもできるのか、

< には変数は使えないのでしょうか?
305
(1): 2018/12/09(日)20:03 ID:ECj7FB1h(1) AAS
>>304
少し上にも出てたけど
openssl ... <<< ${STD_IN}
306: 2018/12/09(日)20:41 ID:4X3RO9or(4/4) AAS
>>305
ありがとうございます!
bash拡張でこんなのがあるのですね。
307: 2018/12/10(月)00:05 ID:SK07uHh5(1) AAS
>>292
Rubyではそんなことしない。
お前Rubyの勉強したほうがいいぞw
308: 295 2018/12/10(月)01:47 ID:iaZVXIYt(1/2) AAS
>>301-302

そういうことだったんですね
grepにパターンを分割してわたす方法は-eオプションを複数用いるのが
唯一かと思っていましたが、改行区切りでもわたせるんですね

grep $'�n'$'�n'

このようにしても同じことのようですね
ただ

grep $'�n' $'�n'
省4
309: 295 2018/12/10(月)01:48 ID:iaZVXIYt(2/2) AAS
文字間違えました
→ \
310: 295 2018/12/10(月)07:24 ID:rDY5Jm5J(1) AAS
1つ誤解がありましたので訂正します
grep $'\n' $'\n'
とするとスペースの後ろの改行文字自体をファイルとして指定したと
解釈されてエラーになるようです
311: 2018/12/13(木)07:59 ID:BpuyFdNl(1) AAS
age
312: 2018/12/13(木)08:47 ID:YYFyHPut(1/3) AAS
$ echo "
> foo
> bar"

foo
bar
引用符一つ入れると改行できたのね・・・
ヒアストリングも<<<"でできるようだし
echo -eだのprintfだの`cat -`だの色々やってたわ
313
(5): 2018/12/13(木)09:47 ID:g4Xg+Gp3(1/5) AAS
[[ -z $hoge ]] や [[ -n $hoge ]]
って必要ですか?

[[ $hoge ]] とか [[ ! $hoge ]] で代用できそうなんですが…

何が違うんでしょ
314
(2): 2018/12/13(木)10:41 ID:9d5jxDGh(1/4) AAS
>>313
もし$hogeの値が「-e /dev/null」とかだったらどうするのよ。
315: 2018/12/13(木)11:07 ID:2p8AEIUJ(1/13) AAS
>>314
何も問題ないですよね?
316: 313 2018/12/13(木)11:09 ID:g4Xg+Gp3(2/5) AAS
>>314
自分も試してみましたが、問題ないようです
317
(1): 313 2018/12/13(木)12:10 ID:g4Xg+Gp3(3/5) AAS
さらにいろいろ試してみましたが
変数の内容がオプションと解釈されてしまって真偽値に影響がでるケースとして

hoge='-e unknown'
[ $hoge ] || echo null

とやってみるとhogeは空でも未定義でもないのに
nullと表示されてしまい、本来の意図とは違う結果になるようです

ただこれも解決方法があり
[ "$hoge" ] || echo null
とすれば意図したテストができるようです
もとより[[を使えば引用符もいらないみたいですね
省3
318
(1): 2018/12/13(木)12:33 ID:2p8AEIUJ(2/13) AAS
>>317
[[ は POSIX非標準。古い新しいではなくbashによって追加された拡張構文
POSIX標準のシェルは対応しない。POSIX標準のシェルには、debianの
デフォルトシェルであるdashやyashやposhがある
どのシェルでも動くようにするならば、[[ は使ってはいけない
319: 313 2018/12/13(木)12:39 ID:g4Xg+Gp3(4/5) AAS
>>318
そうなんですね
じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が
変数の内容を意図せずオプションと解釈されてしまう場合でも
エラーになって気づくので安全と言えば安全なのかもしれませんね
うっかり変数を引用符で囲み忘れる場合もあるだろうし
320: 2018/12/13(木)12:47 ID:2p8AEIUJ(3/13) AAS
> じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が

俺は使わない。ダブルクォート忘れで困るのは、ここだけじゃない
コマンド呼び出しの、foo "$hoge" "$hage" "$tsuru" "$pika" とかも全部そう。
忘れるとか、そんなもんshellcheckを使えばすぐに解決するんだから気にすることじゃない
そもそもダブルクォートをつけ忘れは、-nや-zを使っても解決しない。
321: 2018/12/13(木)12:52 ID:2p8AEIUJ(4/13) AAS
まあ-zは使うけどな。単に読みやすさのため。
否定というのは場合によっては分かりづらくなる

「空文字なら」 は -z(ゼロの長さなら)で読みやすい
「文字があるの否定」は分かりづらい

「文字がある」はわかりやすいが
-n は no? 文字がノーってことか?で分かりづらい
文字があるという状態を示すために、nを割り当てたやつはセンスがない
322: 313 2018/12/13(木)13:11 ID:g4Xg+Gp3(5/5) AAS
最近の言語を何かしらやってる人間にとっては変数の空文字列チェックを
変数そのものでやるというのも馴染みがあってわかりやすいので
できればそうしたいと思ったんですよね

最初の質問の趣旨に戻りますが、-zや-nを使わなくても同等のテストが
できるということで間違いないなら

[[ $hoge ]] [[ ! $hoge ]]

[ "$hoge" ] [ ! "$hoge" ]
の方が個人的には読みやすいかな

よくよく考えたら自分はbashしか使わないので便利な[[で事足りそう
323: 2018/12/13(木)13:17 ID:9d5jxDGh(2/4) AAS
-zや-nは文字列長を判定するのに対して<string>は文字列そのものを判定するっていう違いがあるけど
引用符で囲った場合においてこれらに動作上の違いがあるのか俺には分からん。
少なくとも今のところない。
324: 2018/12/13(木)14:50 ID:YYFyHPut(2/3) AAS
testが[としてbashに内蔵されてて驚く
両方ともなぜか外部コマンドもあって驚く
[[が機能多いのにただのbashの方言で驚く

$ type -a test [ [[
test はシェル組み込み関数です
test は /usr/bin/test です
[ はシェル組み込み関数です
[ は /usr/bin/[ です
[[ はシェルの予約語です
325
(1): 2018/12/13(木)16:04 ID:2p8AEIUJ(5/13) AAS
> testが[としてbashに内蔵されてて驚く

[ が内蔵されてないシェルなんて知らんのだが?
そんなもん現実に存在するのか?
326
(1): 2018/12/13(木)16:21 ID:9d5jxDGh(3/4) AAS
>>325
外部リンク:www.unix.com
327: 2018/12/13(木)16:33 ID:2p8AEIUJ(6/13) AAS
>>326
マニュアルが有るのはわかったが、
シェルはどこに存在してるんだ?
328: 2018/12/13(木)16:40 ID:2p8AEIUJ(7/13) AAS
もはや神話の世界だな

testが組み込みでないシェルは、コメントも使えないシェルということか

外部リンク:ja.wikipedia.org

> UNIX System III(1981年)
> test コマンドを組み込み。
> # でコメントを書き込めるようになった。

さらに関数数定義も出来ず、Unicodeも扱えないようだ
そんなもん現存してないだろう
省5
329
(1): 2018/12/13(木)17:17 ID:9d5jxDGh(4/4) AAS
「手元にない」ということと「存在を考えなくていい」とは別物だからね。
330: 2018/12/13(木)17:22 ID:YYFyHPut(3/3) AAS
globも元は外部コマンドとかも調べなきゃ分からんわ
フィルタをグロブと呼ぶ変わった宗教って認識だったからな
331
(1): 2018/12/13(木)17:24 ID:2p8AEIUJ(8/13) AAS
>>329
だからどこに存在しているんですか?
332: [age] 2018/12/13(木)18:43 ID:5CGSaiem(1) AAS
>>331
我が家のSun OS 4の/bin/sh。
333: 2018/12/13(木)19:03 ID:2p8AEIUJ(9/13) AAS
外部リンク:ja.wikipedia.org
> SunOS 4.1.4 1994年11月

俺が生まれる前かよw
334: 2018/12/13(木)19:05 ID:2p8AEIUJ(10/13) AAS
> SunOS 4.1.1インストール媒体(磁気テープ)

この画像に驚愕した
ビデオテープかよw
335: 2018/12/13(木)19:16 ID:2U4H8MIt(1) AAS
いや磁気テープは現役ですし……
336: 2018/12/13(木)19:16 ID:Zfs8AO7d(1) AAS

337
(1): 2018/12/13(木)19:22 ID:2p8AEIUJ(11/13) AAS
sunos 4.1 4 download でぐぐったら出てきた
x86用があったから解凍してみたら、
拡張子img(フロッピーディスク?)のファイルが36個でてきた
これ動くのか? 確認したくてもよくわからん

外部リンク:winworldpc.com
338: 2018/12/13(木)20:01 ID:Kpl2TedD(1/2) AAS
cshにもtcshにも組み込まれてないが
testも[も
339
(1): 2018/12/13(木)20:06 ID:2p8AEIUJ(12/13) AAS
$ csh
solaris% type test
test is a shell builtin
solaris% tcsh
> type test
test is a shell builtin
340: 2018/12/13(木)20:15 ID:FwJygUTm(1) AAS
>>337
VMWareでもVirtualBoxでも用意してやってみろ
インテルなら多分動く
341: 2018/12/13(木)21:22 ID:Kpl2TedD(2/2) AAS
>>339
その"type"ってのも無いんだけど?
command not found って出る
342: 2018/12/13(木)21:24 ID:2p8AEIUJ(13/13) AAS
劣化版なのでは?
343
(1): 2018/12/13(木)21:36 ID:rsnZtD/M(1) AAS
磁気テープ知らん奴がいるのか・・・
俺も歳を取るわけだ・・・ ハーー
344: 2018/12/13(木)21:39 ID:rk530vyH(1) AAS
磁気テープがバックアップ媒体でバリバリ現役なんだぜ。
345: 2018/12/13(木)22:44 ID:jQhV0FO+(1) AAS
>>343
オープンリールのテープならともかくqicなんてddsの前位だろ。あんたも俺もまだ若造だよ。ハー。
346: 2018/12/14(金)00:56 ID:Dwi6kCsC(1) AAS
フラッシュメモリや円盤の耐用年数は、5年だろ

一方、磁気テープは、30年とかだろ
347: 2018/12/14(金)02:31 ID:WFElEHpX(1/4) AAS
磁気テープってなんかロマンあるよね。実際見たことないけどw
348: 2018/12/14(金)03:07 ID:GpLUKSLa(1/3) AAS
俺も知らなかった
当時高価なUNIXとは無関係なごく一般的なパソヲタはこういう流れだから特殊なものだと思った方がいい
オーディオ用アナログカセットテープ → 5インチフロッピーディスク → 3.5インチフロッピーディスク → 3.5インチMO → CD-R/RW → USBメモリ
349
(1): 2018/12/14(金)03:23 ID:vny8+/a7(1) AAS
オーディオ用カセットテープ??
350: 2018/12/14(金)03:37 ID:GpLUKSLa(2/3) AAS
あれ?mz700とかの媒体ってオーディオ用のやつでしょ?キーガーとか音出しながらアナログからデジタルに変換して読み込むの
351: 2018/12/14(金)03:47 ID:CQSYnmf/(1) AAS
勘違いしとるな
 
ドライブ本体が安けりゃ欲しい
352: 2018/12/14(金)03:53 ID:GpLUKSLa(3/3) AAS
そりゃ誰だって欲しいw
353: 2018/12/14(金)07:09 ID:tfnsNf0y(1) AAS
>>349
PC6001の時代だよ。
16KBの増設メモリーが8トラのカセット位の大きさ。
データはカセットでメモる。
354
(1): 2018/12/14(金)08:28 ID:WFElEHpX(2/4) AAS
sudoeditで起動したエディタに元のファイルの名前を渡す方法ってありますか。
sudoeditでファイルを読み込むと/var/tmp/以下に一時的なファイルが作成されるんだが
VimやEmacsなどの一部のエディタは設定ファイルの名前をもとにシンタックスの種類を決定することがある。
だから/var/tmp/にファイルが作成されるとその機能が使えなくなってしまう。
例えば/etc/fstabを編集するとき、エディタは「/etc/fstab」というファイルの名前からfstab用のシンタックスを適用してくれるんだけど
$ sudoedit /etc/fstab
とやって編集するとファイルが/var/tmp/XXXXXXXに移動してしまいfstab用のシンタックスが適用されなくなってしまう。
355
(1): 2018/12/14(金)08:32 ID:JQUDZnsy(1) AAS
磁気テープが現役でしかもTB単位とかロマンを感じる
カセットやVHSは知っててもで大型用は写真でしか知らんからな
でかいリール使ってるあれって速度的にはどうなん
356: 2018/12/14(金)08:46 ID:ovdRZLka(1) AAS
LTOはそれなりに速い
357
(1): 2018/12/14(金)10:10 ID:ikwr+G0A(1/2) AAS
普通のHDDより速いね
バックアップなんてどうせシーケンシャルアクセスしかしないし
358
(1): 2018/12/14(金)15:27 ID:WFElEHpX(3/4) AAS
>>357
まじで?
カセットテープの話だよね? あれがHDDに読み出し速度で勝るとは思えないんだけど
構造が特殊なのかな。パソコン用のカセットテープは。
359: 2018/12/14(金)16:10 ID:ikwr+G0A(2/2) AAS
LTOすら知らんのかよ・・・
360: 2018/12/14(金)16:25 ID:mnvRUogY(1) AAS
tape archivesのテープってひょっとしてそれのこと?
361: 2018/12/14(金)18:01 ID:4OG2vapp(1) AAS
ここ4〜5レスは、レベルが違いすぎて議論が噛み合っていない。
見ていて楽しいwww
362: 2018/12/14(金)18:39 ID:WFElEHpX(4/4) AAS
見ていて楽しい(話についていけない)
363: 2018/12/14(金)18:59 ID:C13Zox/x(1) AAS
Sun のが 2400ボーだったら気が遠くなりますw
364: 2018/12/14(金)19:01 ID:Wd54hADz(1) AAS
ハタボーだふぉーん
365: 2018/12/14(金)20:34 ID:Ek1UBBLm(1) AAS
>>358
読み書き位置を決める動作はHDDのシークとかよりテープの方が簡単
だと素人目にも感じない?
366
(1): 2018/12/14(金)21:05 ID:t7Qx0ST8(1/2) AAS
>>355
こんな奴の話ならテープの絶対速度はかなり早くて120inch(3mちょい)/s程度
ただ記録密度が低いからデータ転送速度はたいしたことなくて200kb/s程度
画像リンク[jpg]:museum.ipsj.or.jp
367: 2018/12/14(金)21:07 ID:t7Qx0ST8(2/2) AAS
すまん200kB/sだ
368: 2018/12/14(金)22:31 ID:JweqMLAi(1) AAS
>>366
どうせ貼るなら詳細が書かれているhtmlページの方を貼ってほしかった
外部リンク[html]:museum.ipsj.or.jp
1971年の製品か
369: 2018/12/15(土)00:06 ID:SNg57Q0S(1) AAS
>>354
外部リンク:vi.stackexchange.com
370
(1): 2018/12/15(土)15:05 ID:+Je+pouF(1/2) AAS
LinuxでつかえるUSB経由でHDMIキャプチャできる機器ってありますか?
この手の機器をつかったことがないのでセットアップ方法まで参照があると嬉しいです。
371
(1): 2018/12/15(土)15:17 ID:yMwJjzRz(1) AAS
>>370
画面記録ソフトウェアのこと?
Kazamとかじゃだめなん?
372: 2018/12/15(土)15:19 ID:+Je+pouF(2/2) AAS
>>371
メインはハードウェアとして、です。
ただソフトウェアもどんなものがあるかはよく知らないです。
373: 2018/12/15(土)17:54 ID:2dFVGCpB(1) AAS
データセンターでのバックアップ磁気媒体はLTOが主体だと思うんだが
374: 2018/12/15(土)18:27 ID:nBxd7crP(1) AAS
外部リンク:blog.shiftky.net
元々のtarは記録用だったのか
随分意味合いが変わったもんだな
375
(1): 2018/12/15(土)19:40 ID:KHYgPvB0(1) AAS
iconvのiってどういう意味?
376
(1): 2018/12/15(土)20:22 ID:PhlF7L7j(1) AAS
>>375
[I]nternational Codeset [Conv]ersion Library
377
(3): 2018/12/16(日)02:11 ID:sSzOptpz(1/3) AAS
bashについてお伺いします
ファイルの各行を1つの要素とする配列を簡単に作る方法を模索しています
データには空白文字が含まれている可能性があり、そこで要素に分割されないように
空白文字を保護する必要があります
ループ回して1行読み込んでは配列に追加するという方法なら確実かと思いますが
簡潔にできないかと考えたあげく出たのが次のコードです

eval array=( $( cat file | sed "s/.*/'&'/" ) )

各行の先頭と末尾にシングルクォートを追加した上で、evalに再解釈させるという方法です
(話の単純化のためデータには元々シングルクオートが含まれていないとします)

この方法は一見うまくいったようでした
省6
378: 2018/12/16(日)02:28 ID:08XRGqAB(1) AAS
ループ回して1行読み込んでは配列に追加しろ
つーか、1行読んで1行ずつ処理すれば?
379
(1): 2018/12/16(日)03:14 ID:648j88pB(1) AAS
>>377
> うまくいかない理由の認識はあっていますか?

あってると思う
evalの引数を引用符で括れば良さげ

eval "array=( $( cat file | sed "s/.*/'&'/" ) )"

> 他にこの目的を簡単に達成できるような方法はありますか?

mapfile -t array <file
380: 377 2018/12/16(日)03:47 ID:sSzOptpz(2/3) AAS
>>379
ありがとうございます
勉強になりました
381: 2018/12/16(日)04:43 ID:84KMWPj3(1) AAS
mapfileなんて知らんかったわ
すげえな
382: 377 2018/12/16(日)05:08 ID:sSzOptpz(3/3) AAS
mapfileというのはbash4.0からの機能みたいですね

mapfileがない場合は最終的に次のコードに落ち着きました

eval "array=( $( cat file | sed "s/'/'\\\''/g; s/.*/'&'/" ) )"
(シングルクォート保護版)

しかし無駄な努力に終わってしまった…
383: 2018/12/16(日)09:19 ID:zwcjpbmB(1) AAS
外部リンク:ppa.launchpad.net
↑ここに接続できないって言われてPapirusアイコンのパッケージ更新ができないんだけど、みなさんそうですか?
384: 2018/12/16(日)11:24 ID:/MO3Edke(1) AAS
>>376
おお!ありがとう!
385: 2018/12/16(日)18:29 ID:Cph6qf5U(1) AAS
つまんねー ぜんぜん「くだらねえ」くないから
386: 2018/12/17(月)12:08 ID:lR+oH8eb(1) AAS
つまんねーならおまえがくだらねえ質問するんやで
387
(2): 2018/12/17(月)18:39 ID:ChQv8TkK(1) AAS
1から10までのループとして

for i in {1..10} ; do
echo ${i}
done

と書いてますが、このループの終端の数字をシェルスクリプト実行時に指定しようと思い

for i in {1..$1} ; do
echo ${i}
done

とし、コマンドラインパラメータとして$1に10を与えたところ、出力が
省4
388
(1): 2018/12/17(月)21:59 ID:rOWm4H3m(1) AAS
>>387
処理順序が {}の展開→変数の展開 の順になっているからevalするしか無さそうだけど
面倒だし、ファイル名に対してはスペースの扱い怖いな
$ echo $(eval echo abc\{1..$hoge\})
abc1 abc2 abc3
389: 2018/12/17(月)22:06 ID:mLXh0j4T(1) AAS
i=1
while [ $i -le 10 ]; do
echo ${i}
i=$((i+1))
done
390
(1): 2018/12/17(月)22:25 ID:2bzO2+ne(1) AAS
>>387
外部リンク:gist.github.com
391: 2018/12/18(火)00:52 ID:gFEfARad(1) AAS
age
392: 2018/12/19(水)00:45 ID:DG5csFsk(1) AAS
manページを開いたときにターミナルエミュレータのタイトルを変更することって可能ですか?
具体的にはmanページのタイトルを取得して,printf '\e]0;%s\e\\' '<タイトル文字>'
みたいな出力をかます。
393: 2018/12/20(木)12:57 ID:eVBCtBcV(1) AAS
>>388
>>390
情報どうもです

evalが必要なようですね

スクリプト見直しの参考にします
394
(2): 2018/12/22(土)14:00 ID:b6LODgj3(1) AAS
ディレクトリを移動するときのcdとカレントディレクトリを表示するpwdってそれぞれ何の略ですか?
395: 2018/12/22(土)14:20 ID:Kggs6Gd8(1/2) AAS
change directory
print working directory
じゃね?
396: 2018/12/22(土)14:23 ID:oWNfAzIV(1) AAS
>>394
man や info に書いてありますよ
397: 2018/12/22(土)14:25 ID:PtT8lgYE(1) AAS
>>394
man
398: 2018/12/22(土)17:27 ID:Kggs6Gd8(2/2) AAS
ITに限らず略語の意味は
what pwd (stands) for
でググっても見つかる
399
(3): 2018/12/22(土)20:12 ID:TtAeAAdm(1) AAS
シェルスクリプトで

touch $LOGERR
exec 2> $LOGERR
コマンド
$LOGERRがあるならメール送ったり、$LOGERRを削除

みたいな部分があるのですが、

2> $LOGERR はエラーログを記録するのはわかるのですが、
execコマンドはそもそも何をしているのでしょうか?

コマンド 2> $LOGERR はコマンドを実行してそのエラーログを格納するのは理解できるのですが、
execというものを使ったことがないので、よくわかっていません。
400
(1): 2018/12/22(土)21:01 ID:0mXx4pJn(1) AAS
>>399
exec以降のコマンドの標準エラー出力が$LOGERRにリダイレクトされるようになる
1-
あと 602 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s