シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
探検
シェルスクリプト総合 その33
■ このスレッドは過去ログ倉庫に格納されています
2020/03/23(月) 01:12:30.31ID:TYte82vJ
424デフォルトの名無しさん
2020/06/08(月) 23:35:37.35ID:UPXG9UaF >>423
eval "foo ${FD}>&1"
eval "foo ${FD}>&1"
425デフォルトの名無しさん
2020/06/09(火) 01:07:13.62ID:Sn2l65YM 3>&1みたいなFDの切り替えってどんな時に使うの?
FDとリダイレクトの意味は分かってるしエラー出力も使えてるけどこの使いこなすのはさっぱり
FDとリダイレクトの意味は分かってるしエラー出力も使えてるけどこの使いこなすのはさっぱり
426デフォルトの名無しさん
2020/06/09(火) 08:46:32.64ID:a8EVQfut ちまちまリダイレクトするのが面倒くさい時かな?
exec 3>&1 > script.log 2>&1
echo "Phase 1 start" >&3 # 端末に出力
goo ... # 標準出力/エラー出力は script.log に自動的にリダイレクト
hoo ...
echo "Phase 2 start" >&3 # 端末に出力
...
この場合は各フェーズを関数化して、関数呼び出しに対して
都度 script.log へリダイレクトするべきだが
ただ、exec 以外で > の左に指定する数字が 1,2 以外になるパターン
( foo 3>&1 )は知らねえ
ファイルディスクリプタ 3 番に対して open せずにいきなり書き込む
のは抵抗があるわ
exec 3>&1 > script.log 2>&1
echo "Phase 1 start" >&3 # 端末に出力
goo ... # 標準出力/エラー出力は script.log に自動的にリダイレクト
hoo ...
echo "Phase 2 start" >&3 # 端末に出力
...
この場合は各フェーズを関数化して、関数呼び出しに対して
都度 script.log へリダイレクトするべきだが
ただ、exec 以外で > の左に指定する数字が 1,2 以外になるパターン
( foo 3>&1 )は知らねえ
ファイルディスクリプタ 3 番に対して open せずにいきなり書き込む
のは抵抗があるわ
427デフォルトの名無しさん
2020/06/09(火) 08:51:44.16ID:MxhGccu+ 上のようなことをしてる関数がfooとかかな。3がfifoとかなんかで
428デフォルトの名無しさん
2020/06/09(火) 11:53:36.51ID:UgSyYe/8 >425
標準エラー出力を変数に入れるときに使う
標準エラー出力を変数に入れるときに使う
429デフォルトの名無しさん
2020/06/09(火) 20:36:13.51ID:JL8YwnMO >>427
あー,FIFOか。自分ではほぼ使わない(専ら標準入出力とパイプ)だから思い付かんかったけど,たしかにFIFOなら3とかに繋ぐのはありそう。
あー,FIFOか。自分ではほぼ使わない(専ら標準入出力とパイプ)だから思い付かんかったけど,たしかにFIFOなら3とかに繋ぐのはありそう。
430デフォルトの名無しさん
2020/06/11(木) 14:08:25.44ID:IxigL/zf ret=$(printf '\n\n\n\n\n')
if [ "$ret" = "" ]; then
echo true
fi
これってなにげに罠だと思うけど
なんで誰も疑問視しないの?
if [ "$ret" = "" ]; then
echo true
fi
これってなにげに罠だと思うけど
なんで誰も疑問視しないの?
431デフォルトの名無しさん
2020/06/11(木) 14:17:42.98ID:ibS6rTlb 規格による正当な動作だから
432デフォルトの名無しさん
2020/06/11(木) 14:24:11.61ID:IxigL/zf その正当な動作がおかしいだろって話
仕様バグ
仕様バグ
433デフォルトの名無しさん
2020/06/11(木) 14:25:39.14ID:IxigL/zf つーかさ、誰もハマらないの?
echo で最期に改行がついていても -n で改行を無くしても
同じになるっておかしいと思わないの?
echo で最期に改行がついていても -n で改行を無くしても
同じになるっておかしいと思わないの?
434デフォルトの名無しさん
2020/06/11(木) 14:29:59.67ID:ibS6rTlb コマンド置換で最後の改行続きに意味があるというのは少ないんだろう
それで意味ない改行を消すのはめんどくさいというのならば、理にかなってる
大事ならコマンド置換のコマンドで最後にスペースでも強制的につければいいだろう
仕様考え今までそれを使ってる準じてshell作ってる他諸々はお前よりは賢いことは確かだから、お前が仕様バグと言っても鼻で笑われるだけだろうw
それで意味ない改行を消すのはめんどくさいというのならば、理にかなってる
大事ならコマンド置換のコマンドで最後にスペースでも強制的につければいいだろう
仕様考え今までそれを使ってる準じてshell作ってる他諸々はお前よりは賢いことは確かだから、お前が仕様バグと言っても鼻で笑われるだけだろうw
435デフォルトの名無しさん
2020/06/11(木) 14:32:01.77ID:ibS6rTlb436デフォルトの名無しさん
2020/06/11(木) 14:41:06.98ID:92eNOFs2 仕様を読み込んで全部把握してから
言語を使うやつなんていねーだろ
言語を使うやつなんていねーだろ
437デフォルトの名無しさん
2020/06/11(木) 14:50:35.57ID:ibS6rTlb おかしいと思ったら調べるのは普通だわな
自分が絶対正しいマンは知らんけど
自分が絶対正しいマンは知らんけど
438デフォルトの名無しさん
2020/06/11(木) 15:13:40.27ID:92eNOFs2 >>437
それでなんでそういう仕様なのか、お前は調べたのか?
それでなんでそういう仕様なのか、お前は調べたのか?
439デフォルトの名無しさん
2020/06/11(木) 15:35:16.88ID:VbX/tETo 仕様は、読んで(どういう意図かを読んで)理解するものだぞ?
お前は仕様を理解するために仕様を説明してるとこを読むのが普通なのか?
お前は仕様を理解するために仕様を説明してるとこを読むのが普通なのか?
440デフォルトの名無しさん
2020/06/11(木) 15:39:01.44ID:92eNOFs2441デフォルトの名無しさん
2020/06/11(木) 15:45:20.60ID:VbX/tETo 最後の改行(の続きに)は意味がない
と普通に読めるだろ。文(の意図)を読めなさすぎ
と普通に読めるだろ。文(の意図)を読めなさすぎ
442デフォルトの名無しさん
2020/06/11(木) 15:48:46.65ID:VbX/tETo >仕様を読み込んで全部把握してから
という 仕様を読む読まない から、あっさり、
>なんでそういう仕様なのか
読んでどうというようにすり替えてるし、いつもの文を読めない読まない自己都合で言葉を吐くだけのやつか
という 仕様を読む読まない から、あっさり、
>なんでそういう仕様なのか
読んでどうというようにすり替えてるし、いつもの文を読めない読まない自己都合で言葉を吐くだけのやつか
443デフォルトの名無しさん
2020/06/11(木) 15:49:29.97ID:92eNOFs2 最後の改行に意味がないという理屈なら
catコマンドとかも最後の改行は消えるべきでは?
catコマンドとかも最後の改行は消えるべきでは?
444デフォルトの名無しさん
2020/06/11(木) 15:51:14.69ID:VbX/tETo 物事は01ではできてないと理解しような
似たようなので違うとか普通にあるだろうに
しかし、いつものだなw
似たようなので違うとか普通にあるだろうに
しかし、いつものだなw
445デフォルトの名無しさん
2020/06/11(木) 16:24:52.88ID:92eNOFs2 0か1ではないという当たり前ことを言うだけで
理由については一切何も考えてないってことがよく分かるなw
理由については一切何も考えてないってことがよく分かるなw
446デフォルトの名無しさん
2020/06/11(木) 16:50:05.12ID:VbX/tETo >0か1ではないという当たり前こと
らしいけど>>443って言うんだな
理由ww 場合による=01ではないだろに。ホントに文が読めない書けないみたいな感じ
てか、そのレスから明らかすぎるほど明らかにいつものだったな
らしいけど>>443って言うんだな
理由ww 場合による=01ではないだろに。ホントに文が読めない書けないみたいな感じ
てか、そのレスから明らかすぎるほど明らかにいつものだったな
447デフォルトの名無しさん
2020/06/11(木) 16:58:04.41ID:VbX/tETo まとめ
仕様を読んでない
(最初から)仕様読むのが当たり前か
疑問に思ったら仕様を読むのは当たり前
仕様読んで意図がわかるのか
〜という意図だと読めばわかるだろ
AとBが違う
01じゃないんだから、違うのも普通にある
理由については一切何も考えてない
www
いつものむちゃくちゃ、ああ言えばこう言うというナゼか執着心だけが強いお人でした
Fin~
仕様を読んでない
(最初から)仕様読むのが当たり前か
疑問に思ったら仕様を読むのは当たり前
仕様読んで意図がわかるのか
〜という意図だと読めばわかるだろ
AとBが違う
01じゃないんだから、違うのも普通にある
理由については一切何も考えてない
www
いつものむちゃくちゃ、ああ言えばこう言うというナゼか執着心だけが強いお人でした
Fin~
448デフォルトの名無しさん
2020/06/11(木) 16:59:11.72ID:92eNOFs2449デフォルトの名無しさん
2020/06/11(木) 17:00:17.93ID:VbX/tETo お前のママじゃないんだから、なんでなんでにいつまでも答えるわけねえだろ、いい加減
ママに聞きなさい。じゃあね
ママに聞きなさい。じゃあね
450デフォルトの名無しさん
2020/06/11(木) 17:03:50.41ID:92eNOFs2 な?結局、ここにそれを書けと言っても
書いてあるはず。それを見ろ。というだけで答えられないわけさ
書いてあるはず。それを見ろ。というだけで答えられないわけさ
451デフォルトの名無しさん
2020/06/11(木) 17:05:12.16ID:VbX/tETo >ここにそれを書けと言っても
何様なんだかな... お子様かw
何様なんだかな... お子様かw
452デフォルトの名無しさん
2020/06/11(木) 17:06:49.63ID:92eNOFs2 ほらまた論点とは別の話をし始めてる。な、そういうとこだよ
453デフォルトの名無しさん
2020/06/11(木) 17:08:27.87ID:VbX/tETo オマいうwwwww
ホント、ツッコミしやすすぎて...すげえな。キリがないから、じゃ、ほんとに
ホント、ツッコミしやすすぎて...すげえな。キリがないから、じゃ、ほんとに
454デフォルトの名無しさん
2020/06/11(木) 17:38:44.92ID:92eNOFs2 シェルの話をしてるか、人の話をしているかで
だいたい区別できるよな
だいたい区別できるよな
455デフォルトの名無しさん
2020/06/14(日) 01:56:01.34ID:eRp+24Cv マジか・・・、set -vって関数の中身は一行ごと表示してくれないのか・・・
456デフォルトの名無しさん
2020/06/14(日) 10:56:11.88ID:rnZVTcdX 一時期,set -vとかを駆使してシェルスクリプトの自己文書化に拘ってた時期があった。
あまりに無毛だったんで止めたけどw
あまりに無毛だったんで止めたけどw
457デフォルトの名無しさん
2020/06/14(日) 11:05:27.03ID:Wt6fQqct パイパンかw
458デフォルトの名無しさん
2020/06/14(日) 11:35:23.18ID:v+4IVp6H >>457
頭ではなく下の方にしたのは優しさか
頭ではなく下の方にしたのは優しさか
459デフォルトの名無しさん
2020/06/14(日) 13:38:52.36ID:eRp+24Cv >>456
自己文書化ってどんなの?
自己文書化ってどんなの?
460デフォルトの名無しさん
2020/06/14(日) 13:57:38.38ID:nNGIeJAo プリンターに髪をsetするんだろう
461デフォルトの名無しさん
2020/06/15(月) 17:56:08.18ID:XCzEYIlJ >>459
例えば
while getopt opq:h opt; do
case $opt in
o) # -oオプションの説明。
...;;
p) # -pオプションの説明。
...;;
q) # -qオプションの説明。
...;;
h) selfdoc ;;
esac
done
みたいなオプション解析において,
-hオプションを読み取った場合に,
自分自身のシェルスクリプトを
自己文書モード≠ンたく実行して,
case文の場合分けの先にある#コメント以降の文字を
次々出力する,みたいなこと。
こうすると-hオプション用に説明を用意する必要が無くなる。
例えば
while getopt opq:h opt; do
case $opt in
o) # -oオプションの説明。
...;;
p) # -pオプションの説明。
...;;
q) # -qオプションの説明。
...;;
h) selfdoc ;;
esac
done
みたいなオプション解析において,
-hオプションを読み取った場合に,
自分自身のシェルスクリプトを
自己文書モード≠ンたく実行して,
case文の場合分けの先にある#コメント以降の文字を
次々出力する,みたいなこと。
こうすると-hオプション用に説明を用意する必要が無くなる。
462デフォルトの名無しさん
2020/06/15(月) 17:57:43.88ID:ynPWkyxw set -vでそれができるの?
463デフォルトの名無しさん
2020/06/15(月) 19:25:07.50ID:XCzEYIlJ >>462 お前は直前のレスしか覚えてられないのか?w
464デフォルトの名無しさん
2020/06/15(月) 19:28:42.67ID:leNERqqh コレかな?ドキュメンテーションコメント?
シェルスクリプト群のドキュメント書くの面倒だから自動でREADME.mdを生成する
https://qiita.com/ssh0/items/0c14ee8949512a4dc98e
シェルスクリプト群のドキュメント書くの面倒だから自動でREADME.mdを生成する
https://qiita.com/ssh0/items/0c14ee8949512a4dc98e
465デフォルトの名無しさん
2020/06/15(月) 19:35:39.15ID:ynPWkyxw466デフォルトの名無しさん
2020/06/17(水) 01:36:20.86ID:IyVPQdQC MacOS 10.13.4です
1.ディレクトリ内(旧フォルダ)でサイズが一番大きなファイルを抽出
↓
2.リスト.txtのn行目にある文字列(Wordと定義)を抽出し
↓
3.名前をWord.txtに変更&新フォルダに移動
という動作をさせたいです
#!/usr/bin/bash
n=1
LISTPATH="~/Desktop/リスト.txt"
PATH1="~/Desktop/旧フォルダ" #ここにファイル群が入ってます
PATH2="~Desktop/新フォルダ"
#1.最も大きなサイズのファイルを抽出しFILEとして定義
FILE=`ls -1 -S $PATH1/* | head -1`
#2.リスト.txtのn行目の文字列をWordとして定義
Word=`sed -n '$n'p '$LISTPATH'`
#3.旧フォルダにあるファイルをWordにリネームした上で新フォルダに移動
mv $PATH1/$FILE $PATH2/Word.txt
こんな感じで書いてみたのですが2.で"sed : 1 :invalid command code U"のようなエラーが出て先に進めません
ターミナルで直接コマンドを入力すると成功するのでおそらく変数やメタ文字の扱いが悪いのだと思います
ですがいろいろ調べて試してみたのですが一向に変わる気配がありません
間違っている点等、あるいは別の方法などありましたらご教授願います
1.ディレクトリ内(旧フォルダ)でサイズが一番大きなファイルを抽出
↓
2.リスト.txtのn行目にある文字列(Wordと定義)を抽出し
↓
3.名前をWord.txtに変更&新フォルダに移動
という動作をさせたいです
#!/usr/bin/bash
n=1
LISTPATH="~/Desktop/リスト.txt"
PATH1="~/Desktop/旧フォルダ" #ここにファイル群が入ってます
PATH2="~Desktop/新フォルダ"
#1.最も大きなサイズのファイルを抽出しFILEとして定義
FILE=`ls -1 -S $PATH1/* | head -1`
#2.リスト.txtのn行目の文字列をWordとして定義
Word=`sed -n '$n'p '$LISTPATH'`
#3.旧フォルダにあるファイルをWordにリネームした上で新フォルダに移動
mv $PATH1/$FILE $PATH2/Word.txt
こんな感じで書いてみたのですが2.で"sed : 1 :invalid command code U"のようなエラーが出て先に進めません
ターミナルで直接コマンドを入力すると成功するのでおそらく変数やメタ文字の扱いが悪いのだと思います
ですがいろいろ調べて試してみたのですが一向に変わる気配がありません
間違っている点等、あるいは別の方法などありましたらご教授願います
467デフォルトの名無しさん
2020/06/17(水) 01:55:47.38ID:IyVPQdQC リストですが
りんご
みかん
ばなな
いちご
こんな風に単語が入ってます
それとややこしくて申し訳ないのですが
sed -n のnはオプションです
n行目の文字列を抽出、に関してはこちらのサイトに別の方法も載っていたので試してみたのですがやはりエラーが出てしまいました
https://qiita.com/kazu56/items/2936ed6f337f288b25c9
りんご
みかん
ばなな
いちご
こんな風に単語が入ってます
それとややこしくて申し訳ないのですが
sed -n のnはオプションです
n行目の文字列を抽出、に関してはこちらのサイトに別の方法も載っていたので試してみたのですがやはりエラーが出てしまいました
https://qiita.com/kazu56/items/2936ed6f337f288b25c9
468デフォルトの名無しさん
2020/06/17(水) 02:26:54.62ID:iASQjm1j469デフォルトの名無しさん
2020/06/17(水) 04:10:45.23ID:H0Dcbe9T ' を、" に変えたら「りんご」が取得できた
Word=`sed -n "$n"p "$LISTPATH"`
echo $Word
Word=`sed -n "$n"p "$LISTPATH"`
echo $Word
470デフォルトの名無しさん
2020/06/17(水) 12:08:45.15ID:IyVPQdQC >>468-469
ダブルクォーテーションに変えて無事"りんご"を取得できました
そして最終的に3は
mv $FILE $PATH2/$Word.txt
と修正して動作成功しました
見ての通り初心者ですので今後は変数の扱いも含めしっかり勉強していきます
shellcheckも使っていきたいと思います
ありがとうございました
ダブルクォーテーションに変えて無事"りんご"を取得できました
そして最終的に3は
mv $FILE $PATH2/$Word.txt
と修正して動作成功しました
見ての通り初心者ですので今後は変数の扱いも含めしっかり勉強していきます
shellcheckも使っていきたいと思います
ありがとうございました
471デフォルトの名無しさん
2020/06/17(水) 17:45:33.68ID:ja1Hhc1L Linuxで近似画像抽出って不可能?
解像度だけ違うとかpngをjpgにした同じ画像とか
画像相手にハッシュで判別とかアホらしいしさ
解像度だけ違うとかpngをjpgにした同じ画像とか
画像相手にハッシュで判別とかアホらしいしさ
472デフォルトの名無しさん
2020/06/17(水) 18:37:04.24ID:UMZJaayo 全くLinuxどうのという話ではないだろう
AIの分野だな。やろうと思えばLinuxでできるだろう。Linuxに限らずどのOSでもだけど
AIの分野だな。やろうと思えばLinuxでできるだろう。Linuxに限らずどのOSでもだけど
473デフォルトの名無しさん
2020/06/17(水) 19:16:36.41ID:gquwKRiO gqviewは非常に優秀
474デフォルトの名無しさん
2020/06/17(水) 22:35:51.76ID:MW1JUI55 なぜシェルスクリプトのスレに書き込んだのかコレガワカラナイ
475デフォルトの名無しさん
2020/06/17(水) 23:38:01.91ID:H0Dcbe9T このshellcheck は有用
警告・エラーメッセージなどを、国際化(日本語化)すべき!
警告・エラーメッセージなどを、国際化(日本語化)すべき!
476デフォルトの名無しさん
2020/06/18(木) 00:02:30.93ID:qaboPGNj >>475
言いだしっぺ
言いだしっぺ
477デフォルトの名無しさん
2020/06/18(木) 11:07:19.57ID:kWYo0BCq シェルスクリプトが国際化できんのだから,shellcheckにしても然り。
478デフォルトの名無しさん
2020/06/18(木) 12:00:17.90ID:YEv8iIAV だから言い出しっぺがということね
479デフォルトの名無しさん
2020/06/18(木) 12:32:46.90ID:FBRgI1FZ 簡単なシェルスクリプトならググらず書けるようになったけどクッソ読みにくい
case使わずifだらけにする癖が付いたからだけど
コマンドの仕様が統一されてないからほんと迷うわ
lsみたいにオプションの集約や指定位置が自由なのもあれば融通が利かないのもあるし
case使わずifだらけにする癖が付いたからだけど
コマンドの仕様が統一されてないからほんと迷うわ
lsみたいにオプションの集約や指定位置が自由なのもあれば融通が利かないのもあるし
480デフォルトの名無しさん
2020/06/18(木) 16:03:41.90ID:kWYo0BCq オプションの規約はここ
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html>
に書かれている通り,
本来は被演算子は最後にしか持って来れないし,
オプションは “-o” という連字符一文字・英字一文字の形式しか認められてない。
lsはGNUとかで拡張されて,被演算子を途中に持って来れたり,
連字符二つ・英数字複数の長いオプションが使えたりするけど,
可搬性を重視するなら止めたほうがいい。
可搬性を重視しないなら,お好きにどうぞ,でも,
老婆心ながら言うと,困ると思う。
現に「lsではオプションの置き場所が自由なのに
このユーティリティではそうじゃない」
っていう風に困ってる訳だし。
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html>
に書かれている通り,
本来は被演算子は最後にしか持って来れないし,
オプションは “-o” という連字符一文字・英字一文字の形式しか認められてない。
lsはGNUとかで拡張されて,被演算子を途中に持って来れたり,
連字符二つ・英数字複数の長いオプションが使えたりするけど,
可搬性を重視するなら止めたほうがいい。
可搬性を重視しないなら,お好きにどうぞ,でも,
老婆心ながら言うと,困ると思う。
現に「lsではオプションの置き場所が自由なのに
このユーティリティではそうじゃない」
っていう風に困ってる訳だし。
481デフォルトの名無しさん
2020/06/19(金) 11:57:59.31ID:xXxRIFf6 あぁGNU拡張はUNIX哲学に反するから悪ってことか
便利な分横着して悪癖が付いたら困るもんな
機能は盛るけど極力使うなって実に杓子定規というか
便利な分横着して悪癖が付いたら困るもんな
機能は盛るけど極力使うなって実に杓子定規というか
482デフォルトの名無しさん
2020/06/19(金) 17:24:24.21ID:gQU/M+Sr UNIX哲学に反したGNU拡張ってなに?
オプション名は1文字なんていうのがUNIX哲学とは思えないな
オプション名は1文字なんていうのがUNIX哲学とは思えないな
483デフォルトの名無しさん
2020/06/19(金) 22:49:12.08ID:zEq7EJiO 広義では哲学と言えなくもないな
XBD Utility Syntax Guidelines
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
XBD : Single UNIX Specification's Base Definitions
XBD Utility Syntax Guidelines
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
XBD : Single UNIX Specification's Base Definitions
484デフォルトの名無しさん
2020/06/20(土) 02:57:37.69ID:n0lXBS13 ガイドラインなら哲学じゃないな
485デフォルトの名無しさん
2020/06/20(土) 11:04:41.29ID:n5C6ULNh 単純馬鹿にはそうなんだろな
486デフォルトの名無しさん
2020/06/20(土) 20:15:36.78ID:y/L3Z2RW systemdとかいう反UNX哲学の旗頭
487デフォルトの名無しさん
2020/06/21(日) 09:35:40.38ID:IKNG1Fdo 言うほど反UNIXか?
一連の騒動を見ていて,
なんかsystemdの製作者を嫌う一部の人たちが
「UNIX哲学」を錦の御旗にしてsystemdに反発して,
それにUNIXをよく分かってない沢山の人々が
盲目的に加勢してる,っていう印象を受けたけどな。
一連の騒動を見ていて,
なんかsystemdの製作者を嫌う一部の人たちが
「UNIX哲学」を錦の御旗にしてsystemdに反発して,
それにUNIXをよく分かってない沢山の人々が
盲目的に加勢してる,っていう印象を受けたけどな。
488デフォルトの名無しさん
2020/06/21(日) 09:42:27.13ID:IvBo3j6N 気持ちは分からんでもないけどね
489デフォルトの名無しさん
2020/06/22(月) 08:36:37.15ID:sDTlcsla systemdは開発者が問題児だから批判されたって読んだ希ガス
わざわざsvchostを持ち込んだ責任は重いけどそれだけじゃないのよね
わざわざsvchostを持ち込んだ責任は重いけどそれだけじゃないのよね
490デフォルトの名無しさん
2020/06/22(月) 09:33:16.84ID:tLwRlm9z そんなんあったんとググったら
2014-04-03
https://cpplover.blogspot.com/2014/04/linussystemd.html
なんてな、なるほどな。でも、
2014-09-22
https://japan.zdnet.com/article/35054101/
とか、Linus御大はちょっとは寛容になったのか?
だが、
2016年10月5日
https://gihyo.jp/admin/clip/01/linux_dt/201610/05
まだ続いていたのね。そして現在もまだ続いているのかというw
2014-04-03
https://cpplover.blogspot.com/2014/04/linussystemd.html
なんてな、なるほどな。でも、
2014-09-22
https://japan.zdnet.com/article/35054101/
とか、Linus御大はちょっとは寛容になったのか?
だが、
2016年10月5日
https://gihyo.jp/admin/clip/01/linux_dt/201610/05
まだ続いていたのね。そして現在もまだ続いているのかというw
491デフォルトの名無しさん
2020/06/22(月) 09:36:00.54ID:tLwRlm9z ああ、注目されているののは、UNIX哲学というより、手前勝手にやってんじゃねえ&品質悪いだろが主だな上記のは
492デフォルトの名無しさん
2020/06/22(月) 21:15:42.58ID:83oEFw3E 作者が嫌いならそう言えばいいのに
UNIX哲学とかなんとか持ちだすのが卑怯というか嫌らしいなと思った(小並感)
UNIX哲学とかなんとか持ちだすのが卑怯というか嫌らしいなと思った(小並感)
493デフォルトの名無しさん
2020/06/23(火) 09:57:12.79ID:giQS7MtY でもその粗末なものを不本意でも導入したってことはそういうことだよね
対抗したのはdebianくらいでしょ
対抗したのはdebianくらいでしょ
494デフォルトの名無しさん
2020/06/23(火) 13:34:53.18ID:4ygLxlxX Debianもsystemdなんですが。
495デフォルトの名無しさん
2020/06/23(火) 23:09:30.34ID:LfK68hWg それもどちらかというと早く取り入れた方じゃんw
496デフォルトの名無しさん
2020/06/24(水) 08:21:39.73ID:fB1/4/mN POSIXの次のissue (issue 8?) が出るのっていつ,とか分かる?
さっさと$'\n'表記を臆面なく使いたい
さっさと$'\n'表記を臆面なく使いたい
497デフォルトの名無しさん
2020/06/24(水) 16:45:25.56ID:evfa9tXu どうせシェルが対応してないだろ
498デフォルトの名無しさん
2020/06/25(木) 20:11:27.03ID:9YSX2wtH 指定した変数を復旧可能な形でダンプする方法(ようするにシリアライズ)は
bashとかだとdeclare -p abcとかでできますが
dashで同じような事をする方法はりますか?
setとかだと特定の変数だけはできないと思います。
bashとかだとdeclare -p abcとかでできますが
dashで同じような事をする方法はりますか?
setとかだと特定の変数だけはできないと思います。
499デフォルトの名無しさん
2020/06/25(木) 23:23:44.84ID:gX/RvIRg >>498
復旧っていうのが出力を再度shに読み込ませて代入できる、
っていうことだとすれば、env。
ただし
$ VAR='***'
と代入していた場合はenvの出力で引用符が外されて
対話環境だとマズいことになる。
復旧っていうのが出力を再度shに読み込ませて代入できる、
っていうことだとすれば、env。
ただし
$ VAR='***'
と代入していた場合はenvの出力で引用符が外されて
対話環境だとマズいことになる。
500デフォルトの名無しさん
2020/06/25(木) 23:41:04.14ID:9YSX2wtH >>499
envでどうやればできるんです?
envでどうやればできるんです?
501デフォルトの名無しさん
2020/06/26(金) 08:57:30.48ID:Sc0VO8uZ502デフォルトの名無しさん
2020/06/26(金) 08:57:35.06ID:yEClztmT503デフォルトの名無しさん
2020/06/26(金) 09:36:17.92ID:50iMo9Ym >>501
それじゃだめですね
1. でません
$ abc=123
$ env | grep abc
$
2. 誤爆します
$ export abc='USER=1
USER=2
USER=3
USER=4'
$ env | grep -e '^USER='
USER=name
USER=2
USER=3
USER=4
それじゃだめですね
1. でません
$ abc=123
$ env | grep abc
$
2. 誤爆します
$ export abc='USER=1
USER=2
USER=3
USER=4'
$ env | grep -e '^USER='
USER=name
USER=2
USER=3
USER=4
504デフォルトの名無しさん
2020/06/26(金) 09:39:15.48ID:50iMo9Ym 3. 復旧できません
$ export abc='USER=1
aaa
bbb
ccc'
$ env | grep -e '^USER='
USER=name
$ export abc='USER=1
aaa
bbb
ccc'
$ env | grep -e '^USER='
USER=name
505デフォルトの名無しさん
2020/06/26(金) 11:24:38.83ID:Sc0VO8uZ 多機能を望むならBash使っとけば,って思っちゃうw
マジレスするとsedでエスケープとかすりゃいいんじゃないっすかね。
(なんかPOSIXシェルでXMLパーサー実装した!みたいな人思い出した。
「自分のやりたいこと」と「それを実現する環境」が明らかに釣り合ってない)
マジレスするとsedでエスケープとかすりゃいいんじゃないっすかね。
(なんかPOSIXシェルでXMLパーサー実装した!みたいな人思い出した。
「自分のやりたいこと」と「それを実現する環境」が明らかに釣り合ってない)
506デフォルトの名無しさん
2020/06/26(金) 14:58:30.56ID:di73h+MO sed(とか)使っていいんだったら、
値は ' で囲む、値中の ' は '\'' に変換する
だけでいいような
値は ' で囲む、値中の ' は '\'' に変換する
だけでいいような
507デフォルトの名無しさん
2020/06/26(金) 15:05:44.69ID:50iMo9Ym508デフォルトの名無しさん
2020/06/26(金) 15:18:09.38ID:di73h+MO aaa=''\''abc'\'' '\''def'\'''
509デフォルトの名無しさん
2020/06/26(金) 17:26:15.56ID:50iMo9Ym >>508
シングルクォートなくなってるぞw
シングルクォートなくなってるぞw
510デフォルトの名無しさん
2020/06/26(金) 18:59:02.28ID:Sc0VO8uZ ちなみにそれでも
VAR='a
b=c
d'
みたいなのには対処できない。
いや〜果てしないっすね,POSIX原理主義を貫くとw
VAR='a
b=c
d'
みたいなのには対処できない。
いや〜果てしないっすね,POSIX原理主義を貫くとw
511デフォルトの名無しさん
2020/06/26(金) 19:38:40.29ID:SG/+b/+N 世の中bashオンリーになってくれれば楽なんだけどね。
dashが使われてる現実がある。現実主義者は辛いよ。
dashが使われてる現実がある。現実主義者は辛いよ。
512デフォルトの名無しさん
2020/06/26(金) 20:42:38.17ID:Sc0VO8uZ 現実にはBashが使える環境が大半だと思われ。
AIXみたいな極一部の環境を想定することを「現実主義」と言うのは間違ってると思うよ。
まあ,多分「現実主義」と本気で考えてる訳じゃなくて,
俺の書き込みにカッとなって「自分の方が現実見てますアピール」をしてるんだろうが。
AIXみたいな極一部の環境を想定することを「現実主義」と言うのは間違ってると思うよ。
まあ,多分「現実主義」と本気で考えてる訳じゃなくて,
俺の書き込みにカッとなって「自分の方が現実見てますアピール」をしてるんだろうが。
513デフォルトの名無しさん
2020/06/26(金) 20:47:57.71ID:0CWC8I0Q debian/ubuntuの/bin/shがdashなのを知らないの?
514デフォルトの名無しさん
2020/06/26(金) 20:49:25.45ID:0CWC8I0Q515デフォルトの名無しさん
2020/06/26(金) 20:52:00.79ID:0CWC8I0Q dashという名前がでてるのにAIXを思い浮かべるあたり現実を知らんとしか思えんな
AIXのデフォルトシェルはBourne shellかkshだろうに
AIXのデフォルトシェルはBourne shellかkshだろうに
516デフォルトの名無しさん
2020/06/26(金) 21:44:27.05ID:WqCeXtR5 >>509
無くなってないだろ
無くなってないだろ
517デフォルトの名無しさん
2020/06/26(金) 22:04:15.47ID:WqCeXtR5 >>510
foo () {
echo "$1='$(eval echo "\"\$$1\"" | sed -e "s/'/'"'\\'"''/g")'"
}
VAR='a
b=c
d'
echo "$VAR"
bar="$(foo VAR)"
echo "$bar"
VAR=''
echo "before: $VAR"
eval "$bar"
echo "after: $VAR"
一応dashで動いているようだけど?対処できないって?
foo () {
echo "$1='$(eval echo "\"\$$1\"" | sed -e "s/'/'"'\\'"''/g")'"
}
VAR='a
b=c
d'
echo "$VAR"
bar="$(foo VAR)"
echo "$bar"
VAR=''
echo "before: $VAR"
eval "$bar"
echo "after: $VAR"
一応dashで動いているようだけど?対処できないって?
518デフォルトの名無しさん
2020/06/26(金) 22:33:00.77ID:WqCeXtR5 とりあえず、三つの環境で試してみたが動いているかな
こんな簡単でいいのかというのは拭えないが
しかし、
コード書けないのか書かないのか、
ちゃんと考えず検証もせずに、
自分の頭の中もしくはおま環だけで、
解決にも繋がらないのをよく続けてたな、どっちも
って感じ
こんな簡単でいいのかというのは拭えないが
しかし、
コード書けないのか書かないのか、
ちゃんと考えず検証もせずに、
自分の頭の中もしくはおま環だけで、
解決にも繋がらないのをよく続けてたな、どっちも
って感じ
519デフォルトの名無しさん
2020/06/26(金) 22:55:36.19ID:Sc0VO8uZ 出、出〜両成敗言奴〜
520デフォルトの名無しさん
2020/06/26(金) 23:06:55.36ID:WqCeXtR5 レスはするがそんなレスしかしないのは、
対処できないってことはないってことでいいいのね
対処できないってことはないってことでいいいのね
521デフォルトの名無しさん
2020/06/27(土) 09:22:36.01ID:VhavnPnf 最近はpwshが便利でお気に入り
bashは何をやるにもめんどくさくてだめだ
未だに引数の解析をloopとcaseでやるとか原始時代かよ
bashは何をやるにもめんどくさくてだめだ
未だに引数の解析をloopとcaseでやるとか原始時代かよ
522デフォルトの名無しさん
2020/06/27(土) 09:40:10.35ID:gS37C1rZ その程度の問題ならライブラリを作るだけで解決するんだがな
523デフォルトの名無しさん
2020/06/27(土) 22:42:10.04ID:712NPp+Q getopts知らない可能性が微レ存
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国が次々圧力も→高市政権の内情「日本は切る対抗カードなく、我慢しかない状況」と取材結果 [バイト歴50年★]
- 戦略的互恵関係望むなら答弁撤回せよと中国 [どどん★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★3 [♪♪♪★]
- 高市早苗首相。財務省の経済対策草案を「しょぼすぎる」と一刀両断し自らテコ入れ [バイト歴50年★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ [931948549]
- 【悲報】高市答弁、誤解だった [834922174]
- 架空を滑空ビューーーン👊😅👊三三☁😶‍🌫🏡
- 戦略的互恵関係望むなら答弁撤回せよと中国。高市、もう後がなくなる [805596214]
- 中国「じゃあもうパンダ貸してあげない😡」
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
