シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「POSIX原理主義」「ユニケージ」「USP研究所」はPOSIXとUnixを曲解し
間違ったシェルスクリプトを広めている宗教です。洗脳されないようにしてください。
前スレ: シェルスクリプト総合 その36
https://mevius.5ch.net/test/read.cgi/tech/1614212414/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】11
https://mao.5ch.net/test/read.cgi/linux/1627507889/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
シェルスクリプト総合 その37
■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
345デフォルトの名無しさん
2021/12/14(火) 19:34:10.98ID:sz49PmUD346デフォルトの名無しさん
2021/12/14(火) 19:34:30.12ID:/wewuKga 書いてないことを自分の都合のいいように解釈して突っ走るところもそっくりだ
347デフォルトの名無しさん
2021/12/14(火) 19:34:50.92ID:sz49PmUD348デフォルトの名無しさん
2021/12/14(火) 19:34:51.68ID:/wewuKga349デフォルトの名無しさん
2021/12/14(火) 19:35:59.31ID:/wewuKga name=value
: $(($name = 123))
echo $value
これよんで、
> 問題にしてるのは
> $(($name = 123))
> これ
> name = 123
> これ
> =
> これ
> ってことでいいんだな?
なんて質問するのも頭が悪い
: $(($name = 123))
echo $value
これよんで、
> 問題にしてるのは
> $(($name = 123))
> これ
> name = 123
> これ
> =
> これ
> ってことでいいんだな?
なんて質問するのも頭が悪い
350デフォルトの名無しさん
2021/12/14(火) 19:36:18.40ID:sz49PmUD >>346,348
いつもの 誤魔化 しかよ
つくづくだな
お前はどこがPOSIX準拠じゃないと思ってるねん?
name=value
: $(($name = 123))
echo $value
全部か?w
いつもの 誤魔化 しかよ
つくづくだな
お前はどこがPOSIX準拠じゃないと思ってるねん?
name=value
: $(($name = 123))
echo $value
全部か?w
351デフォルトの名無しさん
2021/12/14(火) 19:37:27.42ID:/wewuKga352デフォルトの名無しさん
2021/12/14(火) 19:38:15.35ID:/wewuKga ホントなんでこんなバカなんだろうな
353デフォルトの名無しさん
2021/12/14(火) 19:38:33.15ID:/wewuKga 英語というか、規格書の読み方をっ勉強したほうがいいぞ
354デフォルトの名無しさん
2021/12/14(火) 19:42:47.04ID:sz49PmUD >>351,352,353
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
なに言ってるの? name = 123 この部分だろ?
name変数の中身が整数定数 なんて関係ないぞ
コンピューターサイエンスw的に、型が無い言語なら当たり前的にもな
お前は仕様書、規格書読むのに必要な知識が足りなさすぎだがな、
よく言うよほんと自己紹介好きw
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
なに言ってるの? name = 123 この部分だろ?
name変数の中身が整数定数 なんて関係ないぞ
コンピューターサイエンスw的に、型が無い言語なら当たり前的にもな
お前は仕様書、規格書読むのに必要な知識が足りなさすぎだがな、
よく言うよほんと自己紹介好きw
355デフォルトの名無しさん
2021/12/14(火) 19:44:03.99ID:/wewuKga > なに言ってるの? name = 123 この部分だろ?
name = 123 と書いたのはおまえ
↓どこにも書いてない。目が悪い?それとも頭?
name=value
: $(($name = 123))
echo $value
name = 123 と書いたのはおまえ
↓どこにも書いてない。目が悪い?それとも頭?
name=value
: $(($name = 123))
echo $value
356デフォルトの名無しさん
2021/12/14(火) 19:44:44.42ID:/wewuKga > If the shell variable x contains a value that forms a valid integer constant,
読めないんだろうなぁ
はい、翻訳
シェルの変数xが、有効な整数定数を構成する値を含み、
読めないんだろうなぁ
はい、翻訳
シェルの変数xが、有効な整数定数を構成する値を含み、
357デフォルトの名無しさん
2021/12/14(火) 19:45:07.43ID:6VIYonG0 $nameをvalueに変えるparameter expansionは最初に行われるでしょ
> The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal.
その後は普通にvalue = 123が実行されるだけ
> The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal.
その後は普通にvalue = 123が実行されるだけ
358デフォルトの名無しさん
2021/12/14(火) 19:45:36.95ID:/wewuKga 「その後は普通にvalue = 123が実行されるだけ」と書いていない
359デフォルトの名無しさん
2021/12/14(火) 19:45:41.12ID:sz49PmUD >>355
じゃあ、お前の言う
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
ってどこの部分やねん
お前は他人の文の意味を読めなさすぎ、のくせによく言うよを繰り返しすぎだな
じゃあ、お前の言う
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
ってどこの部分やねん
お前は他人の文の意味を読めなさすぎ、のくせによく言うよを繰り返しすぎだな
360デフォルトの名無しさん
2021/12/14(火) 19:51:21.66ID:sz49PmUD361デフォルトの名無しさん
2021/12/14(火) 19:57:45.01ID:/wewuKga362デフォルトの名無しさん
2021/12/14(火) 20:15:07.62ID:/wewuKga POSIX準拠じゃないのはこれか
name="1+2"
echo $(( name ))
name="1+2"
echo $(( name ))
363デフォルトの名無しさん
2021/12/14(火) 20:16:20.29ID:/wewuKga 今までの流れからすればこう書いたほうがいいね
name="var=1+2"
echo $(( name ))
name変数の中身が整数定数でないときに
どうなるかの挙動は書いてない
name="var=1+2"
echo $(( name ))
name変数の中身が整数定数でないときに
どうなるかの挙動は書いてない
364デフォルトの名無しさん
2021/12/14(火) 20:32:34.85ID:2RbqpbYV シェルスクリプトで小数演算
dc ではいけないのか?
dc ではいけないのか?
365デフォルトの名無しさん
2021/12/18(土) 21:47:26.51ID:ThKMmio5 文字の長さに応じていい感じにタブの個数調整してくれる素敵なワンライナーとかない?
366デフォルトの名無しさん
2021/12/19(日) 00:43:08.09ID:1P9anxgU ワンライナーじゃなくてコマンドだろ
だいたいタブ個数調整と言われて
仕様がわからないとなんとも言えん
だいたいタブ個数調整と言われて
仕様がわからないとなんとも言えん
367デフォルトの名無しさん
2021/12/19(日) 04:58:32.60ID:Q8lTA8Fy unexpand
368デフォルトの名無しさん
2021/12/25(土) 20:40:43.43ID:62MjaTIU369デフォルトの名無しさん
2021/12/25(土) 21:25:20.38ID:gsyC6xqY >>368
2バイト文字では試してないけど
タブは8の倍数で位置を揃えるために必要な数が切り替わるので文字列リストの中で最大文字数のものに付与するタブを1として文字数が少なくなるほどタブを増やして行けばいいと分かった
最大文字数が42の場合
0〜7 タブ6つ
8〜15 タブ5つ
16〜23 タブ4つ
24〜31 タブ3つ
32〜39 タブ2つ
40〜47 タブ1つ
……
BINDのzoneファイルにAレコード大量追加したかっただけだから
ifで分岐させてなんとかしたけどもっと上手いことできるなら頼む
2バイト文字では試してないけど
タブは8の倍数で位置を揃えるために必要な数が切り替わるので文字列リストの中で最大文字数のものに付与するタブを1として文字数が少なくなるほどタブを増やして行けばいいと分かった
最大文字数が42の場合
0〜7 タブ6つ
8〜15 タブ5つ
16〜23 タブ4つ
24〜31 タブ3つ
32〜39 タブ2つ
40〜47 タブ1つ
……
BINDのzoneファイルにAレコード大量追加したかっただけだから
ifで分岐させてなんとかしたけどもっと上手いことできるなら頼む
370デフォルトの名無しさん
2021/12/25(土) 21:48:29.81ID:sYCPCNUA >>369
これを渡したら
<test.lst>
abc.c0м
defghijk.c0.jρ
123456.nёt
zzz.i0
これを出力して欲しい
<test_.lst>
abc.c0м IN A localhostのIP
defghijk.c0.jρ IN A localhostのIP
123456.nёt IN A localhostのIP
zzz.i0 IN A localhostのIP
↑
スマホからだからあれだがIN A以降は揃ってるつもり
これを渡したら
<test.lst>
abc.c0м
defghijk.c0.jρ
123456.nёt
zzz.i0
これを出力して欲しい
<test_.lst>
abc.c0м IN A localhostのIP
defghijk.c0.jρ IN A localhostのIP
123456.nёt IN A localhostのIP
zzz.i0 IN A localhostのIP
↑
スマホからだからあれだがIN A以降は揃ってるつもり
371デフォルトの名無しさん
2021/12/25(土) 22:27:57.12ID:qPDC9gWr printfのが簡単なんじゃないの?
372デフォルトの名無しさん
2021/12/25(土) 22:32:53.73ID:o6Yb7nqK ifとprintfでやった
373デフォルトの名無しさん
2021/12/26(日) 01:41:37.96ID:7bx5KWMB >>370
スペース区切りの複数単語が1行に入っていて1番目と2番目の間の空白を調整して2番目が全行で同じ位置から始まるようにするってことね。
スペース区切りの複数単語が1行に入っていて1番目と2番目の間の空白を調整して2番目が全行で同じ位置から始まるようにするってことね。
374デフォルトの名無しさん
2021/12/26(日) 01:44:16.01ID:7bx5KWMB あ、ちょっと違うか。2番目以降は固定で決まっているから1番目の単語だけ読ませてその後ろのタブを何個付加するかの問題か。
375デフォルトの名無しさん
2021/12/26(日) 02:10:55.11ID:7bx5KWMB >>370
できた。perl だ。
$ perl -ne 'chomp;push(@s,$_);if($l<length){$l=length} END{$m=int($l/8)+1;for(@s){print$_.("\t" x ($m-int(length($_)/8)))."IN A localhostのIP\n"}}' test.lst
abc.c0м IN A localhostのIP
defghijk.c0.jρ IN A localhostのIP
123456.nёt IN A localhostのIP
zzz.i0 IN A localhostのIP
$
できた。perl だ。
$ perl -ne 'chomp;push(@s,$_);if($l<length){$l=length} END{$m=int($l/8)+1;for(@s){print$_.("\t" x ($m-int(length($_)/8)))."IN A localhostのIP\n"}}' test.lst
abc.c0м IN A localhostのIP
defghijk.c0.jρ IN A localhostのIP
123456.nёt IN A localhostのIP
zzz.i0 IN A localhostのIP
$
376デフォルトの名無しさん
2021/12/26(日) 02:14:02.08ID:7bx5KWMB ただし、UTF-8で複数バイト文字混ざりだと画面上の幅とバイト数が一致しなくて失敗する行が出てくるだろうな。
377デフォルトの名無しさん
2021/12/26(日) 02:30:31.24ID:Opbh/M6O スレタイ読めよ
378デフォルトの名無しさん
2021/12/26(日) 06:24:53.12ID:7bx5KWMB >>377
シェルだけでワンライナーにしろってか?可能な感じはするが、長くなりそうだな。ちょっと君試しに作ってみなよ。
シェルだけでワンライナーにしろってか?可能な感じはするが、長くなりそうだな。ちょっと君試しに作ってみなよ。
379デフォルトの名無しさん
2021/12/26(日) 06:55:50.56ID:Guj/6jti いいかげんワンライナーなんてものからは卒業すべき
あれは実用的ではない
あれは実用的ではない
380デフォルトの名無しさん
2021/12/26(日) 07:00:58.21ID:Guj/6jti だいたい位置揃えならcolumnコマンドを使えばすむ
cat /etc/hosts | column -t
cat /etc/hosts | column -t
381デフォルトの名無しさん
2021/12/26(日) 08:08:53.29ID:7ywlyW9o columnコマンドなんてあったのな
これしゅごい
これしゅごい
382デフォルトの名無しさん
2021/12/26(日) 09:30:37.45ID:JgxQVN1x >>378
スレタイ読めよ
スレタイ読めよ
383デフォルトの名無しさん
2021/12/26(日) 12:47:31.30ID:N3NYq5+A プログラム技術。
384デフォルトの名無しさん
2021/12/26(日) 12:59:08.59ID:VAEhq19p すれたい
385デフォルトの名無しさん
2021/12/26(日) 13:59:45.22ID:0AMzbiZh 第一フィールドは20文字の決め打ちで
awk '{printf "%-20s %s", $1, "IN A 127.0.0.1\n"}' test.lst
awk '{printf "%-20s %s", $1, "IN A 127.0.0.1\n"}' test.lst
386デフォルトの名無しさん
2021/12/26(日) 17:10:00.49ID:NwCcamJz シェルではないね
387デフォルトの名無しさん
2021/12/26(日) 17:57:01.68ID:FJp/KqIP388デフォルトの名無しさん
2021/12/26(日) 20:01:39.02ID:nf0VENp6 columnはPOSIXじゃない!
よってawkで実装しなければいけない!
よってawkで実装しなければいけない!
389デフォルトの名無しさん
2021/12/26(日) 20:07:09.32ID:stZFhmVl >>388
っスレタイ
っスレタイ
390デフォルトの名無しさん
2021/12/26(日) 21:01:43.80ID:NGc68XAG フィルタープログラムはシェルスクリプトには必須だよ
391デフォルトの名無しさん
2021/12/26(日) 23:55:43.97ID:7bx5KWMB >>380>>385
TABになってないじゃん。
TABになってないじゃん。
392デフォルトの名無しさん
2021/12/26(日) 23:56:34.73ID:7bx5KWMB >>387
既存のコマンドで丁度良くTAB入れるやつは何てコマンド?
既存のコマンドで丁度良くTAB入れるやつは何てコマンド?
393デフォルトの名無しさん
2021/12/27(月) 01:45:10.81ID:t9d2fK6k394デフォルトの名無しさん
2021/12/27(月) 01:51:55.20ID:4XXPAYbv395デフォルトの名無しさん
2021/12/27(月) 02:06:52.16ID:4gZrwhe1396デフォルトの名無しさん
2021/12/27(月) 02:53:50.89ID:t9d2fK6k397デフォルトの名無しさん
2021/12/27(月) 05:01:52.38ID:4XXPAYbv > column コマンドでは TAB は出力されないよね。
スペースをタブに変換すりゃいいだろ
スペースをタブに変換すりゃいいだろ
398デフォルトの名無しさん
2021/12/27(月) 05:02:55.30ID:4XXPAYbv シェルスクリプトというのは既存のコマンドを使って
いかに楽をするかっていうのが重要
POSIXにこだわるのはアホ
いかに楽をするかっていうのが重要
POSIXにこだわるのはアホ
400デフォルトの名無しさん
2021/12/27(月) 11:39:49.78ID:4gZrwhe1401デフォルトの名無しさん
2021/12/27(月) 12:51:40.94ID:t9d2fK6k ハイハイ、ご要望通りにいたしましたw
F="%-`wc -L test.lst|cut -f1 -d' '`s";awk '{printf"'$F'\t%s",$1,"IN A 127.0.0.1\n"}' test.lst|unexpand -a
F="%-`wc -L test.lst|cut -f1 -d' '`s";awk '{printf"'$F'\t%s",$1,"IN A 127.0.0.1\n"}' test.lst|unexpand -a
402デフォルトの名無しさん
2021/12/27(月) 22:40:58.39ID:6GChlJ/6 >>401
ありがとう
ありがとう
403デフォルトの名無しさん
2021/12/28(火) 01:16:53.28ID:JDHjDqJz 汚らしいパールのワンライナーに比べたら多少洗練されたようだな
404デフォルトの名無しさん
2021/12/28(火) 12:30:02.74ID:IE5w4ImF405デフォルトの名無しさん
2021/12/28(火) 14:14:41.00ID:l3lJRmOp columnは知ってたけど-Lオプションは知らなかった
406デフォルトの名無しさん
2021/12/28(火) 14:39:23.17ID:GaScW5/W columnに-Lオプションなんてあるの?
407デフォルトの名無しさん
2021/12/28(火) 19:18:04.81ID:53pt8mb/ UNIX哲学
408デフォルトの名無しさん
2021/12/28(火) 23:09:44.65ID:5lZUdhkB POSIX原理主義者「POSIXにはないコマンドをawkで再実装した」
UNIX哲学「車輪の再発明をするな」
POSIX原理主義者「・・・」
UNIX哲学「車輪の再発明をするな」
POSIX原理主義者「・・・」
409デフォルトの名無しさん
2021/12/28(火) 23:13:32.40ID:l3lJRmOp410デフォルトの名無しさん
2021/12/29(水) 00:32:57.69ID:fFVPrxR2 debianのcolumnに比べてredhat系のcolumnのオプションが随分と充実してる
411デフォルトの名無しさん
2021/12/29(水) 01:12:38.97ID:Uqmbe8qT 2カラム目以降に何が来ようとも決してTAB変換されなくするには2カラム目以降を完全に後付けにすれば良い
それとawkの-vで事前に最大文字数入れておいて後でprintfのフォーマットに*使った方が見た目奇麗になるね
awk -v m=`wc -L < test.lst` '{printf "%-*s\t\n", m, $1}' test.lst | unexpand -a | xargs -i echo "{}IN A 127.0.0.1"
それとawkの-vで事前に最大文字数入れておいて後でprintfのフォーマットに*使った方が見た目奇麗になるね
awk -v m=`wc -L < test.lst` '{printf "%-*s\t\n", m, $1}' test.lst | unexpand -a | xargs -i echo "{}IN A 127.0.0.1"
412デフォルトの名無しさん
2021/12/29(水) 02:59:14.48ID:I8/QQkF4 スーパーコンピュータシステムのファイル消失のお詫び
https://www.iimc.kyoto-u.ac.jp/ja/whatsnew/information/detail/211228056999.html
2021年12月14日 17時32分 から 2021年12月16日 12時43分にかけて,
スーパーコンピュータシステムのストレージをバックアップするプログラム(日本ヒューレット・パッカード合同会社製)の
不具合により,スーパーコンピュータシステムの大容量ストレージ(/LARGE0) の一部データを意図せず削除する事故が発生しました.
Lustre ファイルシステムのファイル消失について
https://www.iimc.kyoto-u.ac.jp/services/comp/pdf/file_loss_insident_20211228.pdf
1 ファイル消失の影響範囲
対象ファイルシステム: /LARGE0
ファイル削除期間: 2021 年 12 月 14 日 17 時 32 分〜2021 年 12 月 16 日 12 時 43 分
消失対象ファイル: 2021 年 12 月 3 日 17 時 32 分以降、更新がなかったファイル
消失ファイル容量: 約 77TB
消失ファイル数: 34,011,293 ファイル
影響を受けたグループ: 14 グループ(4 グループが復元不能)
3 ファイル消失が発生した原因
バックアップスクリプトには、find コマンドにより 10 日以上古いログファイルを削除する処
理が含まれています。スクリプトの機能改善と合わせて、find コマンドの削除処理に渡す変数名
を視認性・可読性を高めるため変更いたしましたが、この修正したスクリプトのリリース手順に
考慮不足がありました。
bash は、シェルスクリプトの実行中に適時シェルスクリプトを読み込みます。この挙動によ
る副作用を認識できておらず、実行中のスクリプトが存在している状態でスクリプトの上書きに
よりリリースしてしまったことで、途中から修正したシェルスクリプトの再読み込みが発生し、
結果的に未定義の変数を含む find コマンドが実行されてしまいました。この結果、本来のログ
ディレクトリに保存されたファイルの削除をする処理ではなく、/LARGE0 のファイルを削除し
てしまいました。
https://www.iimc.kyoto-u.ac.jp/ja/whatsnew/information/detail/211228056999.html
2021年12月14日 17時32分 から 2021年12月16日 12時43分にかけて,
スーパーコンピュータシステムのストレージをバックアップするプログラム(日本ヒューレット・パッカード合同会社製)の
不具合により,スーパーコンピュータシステムの大容量ストレージ(/LARGE0) の一部データを意図せず削除する事故が発生しました.
Lustre ファイルシステムのファイル消失について
https://www.iimc.kyoto-u.ac.jp/services/comp/pdf/file_loss_insident_20211228.pdf
1 ファイル消失の影響範囲
対象ファイルシステム: /LARGE0
ファイル削除期間: 2021 年 12 月 14 日 17 時 32 分〜2021 年 12 月 16 日 12 時 43 分
消失対象ファイル: 2021 年 12 月 3 日 17 時 32 分以降、更新がなかったファイル
消失ファイル容量: 約 77TB
消失ファイル数: 34,011,293 ファイル
影響を受けたグループ: 14 グループ(4 グループが復元不能)
3 ファイル消失が発生した原因
バックアップスクリプトには、find コマンドにより 10 日以上古いログファイルを削除する処
理が含まれています。スクリプトの機能改善と合わせて、find コマンドの削除処理に渡す変数名
を視認性・可読性を高めるため変更いたしましたが、この修正したスクリプトのリリース手順に
考慮不足がありました。
bash は、シェルスクリプトの実行中に適時シェルスクリプトを読み込みます。この挙動によ
る副作用を認識できておらず、実行中のスクリプトが存在している状態でスクリプトの上書きに
よりリリースしてしまったことで、途中から修正したシェルスクリプトの再読み込みが発生し、
結果的に未定義の変数を含む find コマンドが実行されてしまいました。この結果、本来のログ
ディレクトリに保存されたファイルの削除をする処理ではなく、/LARGE0 のファイルを削除し
てしまいました。
413デフォルトの名無しさん
2021/12/29(水) 03:16:45.01ID:gf7++b5l あぁ、やはり Lustre はダメだなぁ…
414デフォルトの名無しさん
2021/12/29(水) 03:21:51.59ID:9nMYZ2sv 機器の不具合かのように書いてるけど馬鹿による人災じゃねーか
415デフォルトの名無しさん
2021/12/29(水) 04:05:13.87ID:DIjHY86S シェルスクリプト以外ではほとんど見られない性質ではあるからなあ。
たしかに人災とも言えるけど。
たしかに人災とも言えるけど。
416デフォルトの名無しさん
2021/12/29(水) 04:51:32.06ID:Uqmbe8qT シンボリックリンクで新しいバージョンのプログラムにリンク先切り替える方式にしておけば被害は防げたかも知れないな
417デフォルトの名無しさん
2021/12/29(水) 09:47:12.44ID:aqWkCMvZ xargsは強力だよねー
全然使いこなせねーわ
全然使いこなせねーわ
418デフォルトの名無しさん
2021/12/29(水) 10:35:20.64ID:HbjA8KL2 Linux の場合プログラムは起動時に全てメモリに読み込まれるから
稼働中にプログラムを差し替えても OK って考えて実際に差し替えたら
メモリ上の古いプログラムがファイルシステム上の新しいモジュール
ファイル読もうとして動作不良になったことがあったなあ
稼働中にプログラムを差し替えても OK って考えて実際に差し替えたら
メモリ上の古いプログラムがファイルシステム上の新しいモジュール
ファイル読もうとして動作不良になったことがあったなあ
419デフォルトの名無しさん
2021/12/29(水) 10:53:37.16ID:yFPIHMKS この挙動ってinodeが同じまま書き換えたから起こったんだよね?
inode変わるファイル更新なら起こらないよね?
inode変わるファイル更新なら起こらないよね?
420デフォルトの名無しさん
2021/12/29(水) 11:28:25.09ID:DIjHY86S421デフォルトの名無しさん
2021/12/29(水) 11:33:56.17ID:EOkSZQC4 リリース手順の考慮不足以前にfindを使った削除の運用自体に問題がある
ちゃんと金払ってまともなもの作ってもらわないと
未定義の変数を含むfindコマンドが実行すると
rootディレクトリのファイルが全削除される?
ちゃんと金払ってまともなもの作ってもらわないと
未定義の変数を含むfindコマンドが実行すると
rootディレクトリのファイルが全削除される?
422デフォルトの名無しさん
2021/12/29(水) 13:13:58.03ID:KOMId+4/ findとか関係ねーよ
例えばrmで終わるコマンドがあったとして
xxxxrm / が rm / と解釈されることだってある
例えばrmで終わるコマンドがあったとして
xxxxrm / が rm / と解釈されることだってある
423デフォルトの名無しさん
2021/12/29(水) 13:53:35.50ID:kCXooe0G /LARGE0${undefined}ってこと?
424デフォルトの名無しさん
2021/12/29(水) 15:06:25.94ID:W7/CHwWQ425デフォルトの名無しさん
2021/12/29(水) 15:11:30.51ID:1N8ukzHQ https://zenn.dev/mattn/articles/5af86b61004bdc
やっぱりinodeが変わってればokだったみたい。
mvとか、installとか使って反映しておけば回避できてた模様
やっぱりinodeが変わってればokだったみたい。
mvとか、installとか使って反映しておけば回避できてた模様
426デフォルトの名無しさん
2021/12/29(水) 15:31:39.64ID:V1sEjw5U 門外漢なんで純粋に知りたいんだけどこのbashの実行中の書き換えも書き換えたとこから逐次実行する仕様って歴史的経緯によるもの?もしくは
有効に活用できるケースがたくさんあるから意図して実装している?
有効に活用できるケースがたくさんあるから意図して実装している?
427デフォルトの名無しさん
2021/12/29(水) 16:23:06.17ID:bBNK3YsU Lustre の checkpoint 機能は使ってなかったのかな?
428デフォルトの名無しさん
2021/12/29(水) 17:29:01.73ID:wwN1RbRp Linuxはホットパッチが売りなので。
429デフォルトの名無しさん
2021/12/29(水) 17:40:55.16ID:I8/QQkF4430デフォルトの名無しさん
2021/12/29(水) 17:43:56.77ID:Y+wm1ikU >>422
今回のにそれ関係ある?
今回のにそれ関係ある?
431デフォルトの名無しさん
2021/12/29(水) 18:01:13.94ID:tast0kyj 規模は違えど今回の事例と同様の体験をした人・組織は少なくなさそう
432デフォルトの名無しさん
2021/12/29(水) 18:01:34.74ID:o6aVS5Lj inode云々は問題の表層でしかない
実行中のスクリプトが新しくなったからといって77TBものユーザーデータをサクッと削除しちゃえるのがおかしい
何重にもガードできているのが当たり前の案件
実行中のスクリプトが新しくなったからといって77TBものユーザーデータをサクッと削除しちゃえるのがおかしい
何重にもガードできているのが当たり前の案件
433デフォルトの名無しさん
2021/12/29(水) 19:12:14.86ID:DIjHY86S >>426
あくまで「シェル」なんやし、入力を逐次実行するのが仕様やろ?
あくまで「シェル」なんやし、入力を逐次実行するのが仕様やろ?
434デフォルトの名無しさん
2021/12/29(水) 19:12:44.47ID:DIjHY86S >>432
コストとのバランス。
コストとのバランス。
435デフォルトの名無しさん
2021/12/29(水) 21:10:55.07ID:t8aruUm+ スパコン系の人達は運用周りのリテラシーすごく低い
シェルスクリプトしか知らない人達よりもひどいくらい
シェルスクリプトしか知らない人達よりもひどいくらい
436デフォルトの名無しさん
2021/12/30(木) 00:46:59.13ID:IL1LVlOR437デフォルトの名無しさん
2021/12/30(木) 01:04:22.58ID:v9gi5gW5 Javaが出てくる意味が分からん
438デフォルトの名無しさん
2021/12/30(木) 01:12:51.79ID:IL1LVlOR Javaで作れば安全だからです!
439デフォルトの名無しさん
2021/12/30(木) 01:25:09.88ID:TO85sxcb log4jで消そう
440デフォルトの名無しさん
2021/12/30(木) 01:49:09.54ID:wfs2tbs7 perlのワンライナーでやるべき
441デフォルトの名無しさん
2021/12/30(木) 02:02:44.37ID:bPzpLvLZ >>425
installコマンドを使わないバカが多いからなあ
installコマンドを使わないバカが多いからなあ
442デフォルトの名無しさん
2021/12/30(木) 02:05:00.83ID:bPzpLvLZ >>426
bashそのものじゃなくてスクリプトの方だぞ
bashそのものじゃなくてスクリプトの方だぞ
443デフォルトの名無しさん
2021/12/30(木) 02:15:01.93ID:IL1LVlOR444デフォルトの名無しさん
2021/12/30(木) 02:25:12.29ID:IL1LVlOR >>426
bashに限らずevalが使えるスクリプト言語はどれも似たようなもの
その方が効率がいいから
ファイルを全部メモリに読み込んでたらメモリの無駄遣い。必要になった時に読み込んで
コンパイルして中間コードをメモリに保存したほうが効率がいい
書き換えたところから実行する仕様とかじゃなくて
読み込み中にファイル内容が書き換わっただけ
bashに限らずevalが使えるスクリプト言語はどれも似たようなもの
その方が効率がいいから
ファイルを全部メモリに読み込んでたらメモリの無駄遣い。必要になった時に読み込んで
コンパイルして中間コードをメモリに保存したほうが効率がいい
書き換えたところから実行する仕様とかじゃなくて
読み込み中にファイル内容が書き換わっただけ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- AIアーティストだけど作品公開する
- 地球から無限km先の場所ってどうなっているの?
- お前らインターネット大規模障害起きてたとき何してた
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 日本、高市のお陰で破滅に近づくwwwwwwww
