シェルスクリプト総合 その33

レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/03/23(月) 01:12:30.31ID:TYte82vJ
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
2020/08/16(日) 02:35:35.89ID:1G6F2nAS
「どのようにしたら可能でしょうか?」

レス「環境がないのになぜ聞く?」

これだもんなw
2020/08/16(日) 02:37:08.19ID:1G6F2nAS
>>850
こういうやつ、ほんとコミュニケーションに向いてないなw

「〜したく。」という表現について
https://oshiete.goo.ne.jp/qa/3612600.html
2020/08/16(日) 02:37:51.28ID:YKxJCnVG
>>848
バカには難しかったね。w
おきのどく。
2020/08/16(日) 02:38:05.03ID:1G6F2nAS
まーた始まった
2020/08/16(日) 02:40:15.48ID:YKxJCnVG
>>851
じゃあおまえがこたえてやれよ。
くちのききかたのことしかいえないの?w
2020/08/16(日) 02:42:05.20ID:1G6F2nAS
>>843
それで可能


>>855
答えましたが?w
たった5文字で終わることを長くさせてるのは自分だって自覚しような
2020/08/16(日) 02:42:18.69ID:hHqe5wIQ
>>852
本当にそうだよね、そのリンクで挙げられている会社内で使えよって話
2020/08/16(日) 02:43:10.98ID:1G6F2nAS
わざと、世間でも使われてるって書いてあるのみて、無視してるんだろうなーw
2020/08/16(日) 02:44:34.09ID:hHqe5wIQ
>>858
よく読めw
2020/08/16(日) 02:45:33.86ID:hHqe5wIQ
散々否定されてるだろwww
2020/08/16(日) 02:45:49.62ID:1G6F2nAS
ベストアンサーより
> ”頂きたく””致したく””お願いしたく”といった表現は、昔からよく使う会社とそうでもない会社があるようです。
2020/08/16(日) 02:46:16.68ID:hHqe5wIQ
使っている会社があるけどおかしいよねってソースだろそれ
2020/08/16(日) 02:46:30.85ID:hHqe5wIQ
まあ日立なんだけど
2020/08/16(日) 02:47:50.55ID:1G6F2nAS
>>862
ビジネスとしておかしい、マナーとしておかしいけど、使われてるって話だろ?
ここビジネスか?w
2020/08/16(日) 02:48:39.56ID:hHqe5wIQ
>>864
そのおかしい言葉をおかしいと思わずに使っている恥ずかしいやつって見られるだけだから別にいいと思うよ!
2020/08/16(日) 02:49:02.10ID:hHqe5wIQ
頑張って広めてね!応援してるよー
2020/08/16(日) 02:49:36.40ID:XtZ0e6Es
また日立語かよ、きも
2020/08/16(日) 02:51:41.90ID:1G6F2nAS
広まってるからこうやってググって見つかるのにw
ああ、そうか使われてるって知らないって話だったな
2020/08/16(日) 02:53:03.05ID:hHqe5wIQ
>>868
うんにゃ、知ってるよ
おかしな言葉として有名だからね
2020/08/16(日) 02:55:17.21ID:hHqe5wIQ
>>868
ググって見つかる言葉なら正解だよね!わざわざググってくれた君の行動に行動に敬意を評したく
2020/08/16(日) 02:56:14.55ID:1G6F2nAS
1. 言葉がおかしいと知ってる
2. 言葉がおかしいとレスすればいい
3. それ以前に、正しい言葉を知ってるんだから
脳内で補間して、本当にすべきレスをすればいい

実際に返したレス→「したく…なんだよw」


な?コミュニケーション能力ないだろ?w
2020/08/16(日) 02:59:10.06ID:hHqe5wIQ
>>871
変なとこでぶった切ってるから何が言いたいんだ?もっとまともな日本語使えよってツッコミでしょ?
もう少しまともな思考をしてもらいたく
2020/08/16(日) 03:00:17.69ID:hHqe5wIQ
>>871
日立語をぜひ広めてもらいたく
2020/08/16(日) 03:01:10.81ID:1G6F2nAS
こういうナチュラルに嫌がらせをするやつっているよなw

「すいませーん。ちょっと今いいですかー?」

「え?吸いませんってなに?タバコ?タバコ吸わない宣言でもしてるの?w」


はぁ、疲れつやつだ。こいつ相手だと話が進まない。ってなる。
2020/08/16(日) 03:03:08.25ID:hHqe5wIQ
>>874
まったく比較になっていない例えを持ち出してくるやつっているよねー。こいつ相手だと話が進まない。ってなる。同僚に同情したく。
2020/08/16(日) 03:04:12.32ID:hHqe5wIQ
>>874
疲れながら構ってくれてありがとう。感謝したく
2020/08/16(日) 03:05:32.81ID:1G6F2nAS
「したく」って言葉がよっぽど気に触ったようだw
2020/08/16(日) 03:06:01.95ID:1G6F2nAS
もう寝るからもう一回言っておくね

まーた始まった
2020/08/16(日) 03:07:24.30ID:hHqe5wIQ
>>877
全然。面白かったから突っ込んだだけなんだけど、コミュニケーション能力なさすぎwww
2020/08/16(日) 03:07:50.74ID:hHqe5wIQ
>>878
いい夢を見てほしく
2020/08/16(日) 03:08:41.32ID:hHqe5wIQ
>>878
まだ構っていただきたく
2020/08/16(日) 03:16:18.90ID:beccON1S
>>856
ご回答ありがとうございます。
なんか荒れてしまいスミマセン(;一_一)
2020/08/16(日) 03:20:00.87ID:C12a8F+A
>>877
バカにされてるだけだろ
2020/08/16(日) 10:13:01.15ID:uQxSrMDH
>>882
気にしなくていいよ。いつもの「アレ」だから
885デフォルトの名無しさん
垢版 |
2020/08/17(月) 00:07:49.21ID:F1v/bIKS
POSIXの範囲内で一番高度な正規表現を持ってるのはawkですかね?
それ以外はBREだよね?
2020/08/17(月) 01:45:19.88ID:KciEC6qM
正規表現の高度の定義よろしく
887デフォルトの名無しさん
垢版 |
2020/08/17(月) 01:57:51.81ID:ndXLOI29
例えば「基本」よりも「拡張」が高度です
拡張正規表現というのは知ってますよね?
2020/08/17(月) 11:43:39.53ID:RhttSiUn
なるべく標準に準拠しつつsudoやsuみたいなコマンドを使いたいんだけど
POSIXだとsudoどころかsuコマンドも用意されてないんだね…
2020/08/17(月) 19:32:26.30ID:vwRwlH/K
変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
Google のガイドだと "${FOO}" を使うようになってるんだけど、一文字変数をこのスタイルで書くとかっこわるく見える (e.g. "${f}")

ttps://google.github.io/styleguide/shellguide.html#s5.6-variable-expansion
2020/08/17(月) 20:13:56.99ID:sGl1Y5uw
$FOOだと問題あるときに${FOO}。${FOO}でないとという場合はそんなないけど
Googleのガイドはごちゃ混ぜがキモいとか${FOO}にすべきとこを間違って$FOOにしてしまってというのを避けるためだけじゃね
仕事や複数共同でとしてなら一定の基準は必要だが、個人でならお好きにでいいんじゃないの
2020/08/17(月) 20:39:16.41ID:vwRwlH/K
>>890
ふむふむ、なるほどなぁ
2020/08/17(月) 21:07:36.85ID:MSHB+00t
>>889
These are strongly recommended guidelines but not mandatory regulation.
て言ってるじゃん。
適度に無視すれば。w
直後に、必須じゃないからってないがしろにすんな、とも言ってるけど。

{}があったほうが検索しやすかろ、というのはわかる。
それが理由で個人的には、C++関数の引数なしの(void)は絶対書く。
2020/08/18(火) 05:39:56.45ID:vobu/Tqw
>>899
読みづらくない場合は $FOO
要ないものは冗長にはしないというルールでやってる

echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
こういう場合は echo "${foo}${bar}${baz}"
echo "$foo $bar $baz" は見づらくないのでそのまま
2020/08/18(火) 05:48:54.34ID:vobu/Tqw
コーディング規約全般に当てはまる話だが
理由がないのに書き方を統一すべきという方針は
自分の脳みそで判断したくないというバカがやることだ

困っていないのであれば、統一する必要はない
(念の為に言うとタブやスペースの数は混ざると「困る」ので統一すべき事例だ)

どちらの書き方でも一長一短があるの出れば
どちらかにするのではなく「どちらの書き方でも良い」というルールにすべきだ
2020/08/18(火) 07:43:54.94ID:nMhUmH9x
なんか言ってる。俺がルールだってか
2020/08/18(火) 07:56:19.91ID:nMhUmH9x
>echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
>こういう場合は echo "${foo}${bar}${baz}"
ってしてるんだよな?んなのうぜえし別に見づらくないと echo "$foo$bar$baz" と書くのが居るとしよう、そういうのをお前がメンテナンスするとしてどう思う?
それはそれでそのままか?だったらわざわざスレて開陳してる 連続していると見づらい ってなんなのか?

どこで折り合いをつけるのかという話になるんだよ、複数で共同で作業するのでは
そういうのをすっ飛ばして、自分の脳みそで判断したくないというバカがやることだ  というのは単純バカだなと思う
2020/08/18(火) 09:14:42.12ID:vobu/Tqw
>>896
いや、だからなに?って言いたいんだが

そんなもん、関数名がgetXXXなのかfetchXXXなのか
どっちにすべきかって話と何も変わらんだろ

どっちでもいいだろ
2020/08/18(火) 10:42:15.10ID:51N2sBQ+
規約がなければ普通に "$foo$bar$baz" って書くしどこも読みにくくない
2020/08/18(火) 11:30:25.87ID:vobu/Tqw
"$S$$S$$$S"
2020/08/18(火) 14:51:07.00ID:nmnRK/Qq
こいつはこういうのを書くんだなw
2020/08/18(火) 22:16:05.43ID:c1cRfnKe
$SINGLE$SHELL$SCRIPT$SYSTEM

とかなら書くでしょ?
2020/08/18(火) 22:21:06.83ID:hHWiIYSV
な,プログラマの好きにさせてると,
譬え個々人が言っていることはそれぞれ正しくても
こんな風にいがみ合いになる。

だからコーディング規約があるんだよ。
2020/08/18(火) 22:39:29.13ID:c1cRfnKe
だからコーディング規約として
Aにする、Bにする。AとBのどちらでもいい
この三番目でもいいって話

"$SINGLE$SHELL$SCRIPT$SYSTEM" のように見にくい場合は
"${SINGLE}${SHELL}${SCRIPT}${SYSTEM}" とすればいいし

"$SINGLE $SHELL $SCRIPT $SYSTEM" のように見にくくない場合は
{}を使う必要はない

変数名・関数名に「わかりやすい名前をつけましょう」というルールであるのと同じで
{}を使う使わないも「わかりやすい方法を選びましょう」でいいんだよ
2020/08/18(火) 23:40:57.77ID:8RKEd5YI
俺のコーディング規約を使えかよww
2020/08/18(火) 23:58:50.21ID:8RKEd5YI
>>902
やはりより良いと自ら考えてのだから個々人のやり方にある意味愛着があるからな
でも他人からは単なる好みにしか見えなかったりでので

言うようにだからコーディング規約があるんだよなあ。一人だけわかってないようだけど
2020/08/19(水) 00:08:51.16ID:hvmm4HMW
だから「どちらでもいい」というコーディング規約なんだってばw
2020/08/19(水) 00:13:38.66ID:sn9Oor5N
サンプルを二度も三度も変えてなんてまでしてwなんて、しかも理由が読みづらいなんて自分のやり方が良いと言っているだけ=規約だろうに
2020/08/19(水) 00:21:17.83ID:hvmm4HMW
だから$fooにするか${foo}にするかはどちらでも良いという規約だっていってんだろw
2020/08/19(水) 00:28:12.27ID:sn9Oor5N
俺の考えた規約が最強と言いたいだけかww
2020/08/19(水) 00:39:26.64ID:hvmm4HMW
俺が言ってるのは決める必要がないものまで決めるなって話だよ
ルールを作って仕事した気になってるアホ
2020/08/19(水) 00:43:03.59ID:sn9Oor5N
自分でナニかを決めてるのに、それをなんか知らんが繰り返し正しいと他人に吹聴wしてるのに何を言っているのか
仕事した気になってとか何を言っているのか、全く未だに だからコーディング規約があるんだよ がわかってないな
どう見ても他人にコード見せる見られたことないだろ?お前にはコーディング規約なんて関係ないし、俺の考えた最強のはお前が好きに自分で使ってなさいな
2020/08/19(水) 00:45:29.62ID:hvmm4HMW
>>911
今話しをしてる「決める」っていうのは書き方、スタイルのことな
コーディング規約で、どちらの書き方でも良い。と決めるって話
理由がないのにルールを作るな
2020/08/19(水) 00:46:30.46ID:hvmm4HMW
縛るって言えば理解できるか?
縛らなくて良いものまで縛るなって話
2020/08/19(水) 00:47:42.01ID:hvmm4HMW
>>911
$foo にするか ${foo} にするかを縛ってる
よく知られたコーディング規約はない

縛ってないというのがわかるだろ
2020/08/19(水) 00:48:40.46ID:sn9Oor5N
なんでそうも自説に必死なのか。他のコーディング規約を馬鹿にしてまで
全く>>902の言うとおりそのまま、いらん紛争を持ち込む張本人そのもの
そんな自説が正しいならGoogleのアレを変えてみろってのww
2020/08/19(水) 00:50:59.55ID:hvmm4HMW
Googleも縛っていないだろ
ちゃんと読めよ
2020/08/19(水) 00:51:18.19ID:sn9Oor5N
明らかに馬鹿にしてるのにしないできないのは、ある意味Googleよりも俺が偉いと言いたいだけの承認欲求が激しいだけのお人とするからなw
結果お待ちしてます
2020/08/19(水) 00:52:14.93ID:hvmm4HMW
バカにしてないのに、バカにしていることにしたいのはなんでだろうな(笑)
あれかな自分以外は悪じゃないといけないみたいな考え方w
2020/08/19(水) 00:52:33.40ID:sn9Oor5N
だったらなんの規約に噛みついてるのかイミフすぎ
お前の冒頭で何を言ったのか忘れたのか?「コーディング規約全般に当てはまる話だが」だぞ?
自分の言ったことも忘れるいつものか
2020/08/19(水) 00:53:16.48ID:hvmm4HMW
なんの規約って、どちらでも良いものは縛るなって言ってるだけだが?
Googleだって縛っていない
2020/08/19(水) 00:55:24.48ID:sn9Oor5N
>コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
なんか下手くそに逃げたが、Googleのは強制はしてないが無視すんなとも言ってる規約だし、発端のから明らかにGoogleの(も)だろう

やっぱりいつもののか、下手くそな逃げにもううんざりしてきた
2020/08/19(水) 00:56:34.75ID:hvmm4HMW
> Googleのは強制はしてないが無視すんなとも言ってる規約だし、
だから強制していないで終了だろw
2020/08/19(水) 00:59:46.78ID:sn9Oor5N
百万歩譲っても、じゃあ、どの規約かもわからん、スレにも上がってない規約に噛みつき馬鹿にして延々と自説をぶった、他人と会話にちょっと問題があるお人ってことになるぞ?w
だから逃げが下手すぎだって、うんざりするほどに
2020/08/19(水) 01:04:10.81ID:hvmm4HMW
意味不明
最初から縛る必要がないものまで縛るなって言ってるだけ

最初の質問通り
> 変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?

どちらのスタイルに縛るか?
俺は縛らない。

そういう話しかしてない
2020/08/19(水) 01:07:33.13ID:sn9Oor5N
>初から縛る必要がないものまで縛るなって言ってるだけ
誰もそんなこと言ったやつはいない。お前がイミフに急に言い出しただけだな、Googleのでもないなら
それこそ何を言っているのだかなな...うんざり

>>894が無ければな
お前は俺流をただ言ったのではなく、「規約」に噛みついていたのだろうが、Googleのでもないどこか知らん規約にな
本当に自分で何を言ったのかすぐに忘れるやつだな
2020/08/19(水) 01:11:04.94ID:hvmm4HMW
> Googleのでもないどこか知らん規約にな

Googleのものでもない「書き方を縛ろうとしている規約」に
苦言しただけだが?

どこかしらん規約の話をしてきたのは誰か?
俺じゃねーよ
2020/08/19(水) 01:17:08.10ID:sn9Oor5N
そんな押し付けの規約があると散々言っているのはお前だけ
誰もそんな規約の話なんてお前の前からしてない
ゆうにことかいて俺じゃねーだって。ダメだこりゃ
2020/08/19(水) 01:23:13.05ID:hvmm4HMW
> そんな押し付けの規約があると散々言っているのは

押し付けの規約は駄目っていっただけで
そんな規約があるなんて一言も言ってないが?

お前どこの何を読んで文句言ってるんだよ?
2020/08/19(水) 01:27:29.25ID:sn9Oor5N
じゃあ、 >>923 ってことで納得
逃げが下手すぎ。自分で言ったことを忘れる、会話も成り立たないその場しのぎはもういいよ


結論
個人でするなら勝手にしろ
自分のやり方は最強と思うのは誰しもだが、誰しもが(?)他人のそれを最強とは思わない
コーディング規約には理由がある、それが気に食わなくてもなw 馬鹿にするほどなら変えろ、どこの知らんのは知らんあるのかもないのかも含めてなw
2020/08/19(水) 01:35:38.54ID:hvmm4HMW
>>929
人の話聞いてんのか?

>>889
> 変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
っていってるから

どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ
お前は俺が規約に噛み付いてることにしないと話ができんのか?
最初から規約に噛み付いてないのはあきらかだろうが
噛み付いてるのは縛るやつだ
2020/08/19(水) 01:36:34.69ID:hvmm4HMW
何度、俺が規約に噛み付いてないと言っても
理解できないのはなんでなんだろうねw
2020/08/19(水) 01:39:26.06ID:sn9Oor5N
なんの反論にも何にもなってないぞ
お前こそとしか思えない。なんでそこから強制の規約になるんだか。自分からGoogleのはそうじゃないと言っているのにw
もう「このおバカさん」と言うしかないほど呆れた
だからその場しのぎのはもうええっちゅうに。まあわからんのだろうなおバカさんにはw
2020/08/19(水) 01:41:23.22ID:sn9Oor5N
>>931

>>894
大丈夫か?ダーーカーーーラーーその場しのぎはもう...w
2020/08/19(水) 01:44:00.79ID:hvmm4HMW
俺が最初から言ってる

どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ

については何もレスしないで会話をずらすわけねw
2020/08/19(水) 01:46:31.99ID:vMi8bMi7
またいつものキチガイか
2020/08/19(水) 01:47:06.38ID:sn9Oor5N
>どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ

>コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ

以下も、何度も自ら「規約」とも言ってる

話しが通じないのはわかったよ。通じないというよりその場しのぎのそれで逃げられるwというのは理解できない、多分お前の自説が仮に正しくてもそれが通じるかは難しいだろうw
2020/08/19(水) 01:47:13.35ID:hvmm4HMW
new IDが登場したっからもう終りやろw
2020/08/19(水) 01:48:02.09ID:hvmm4HMW
>>936
どちらでも良いようなものをどちらかに縛るやつが作ってるのは
コーディング規約だろ。おまえ頭大丈夫か?
2020/08/19(水) 01:49:46.39ID:sn9Oor5N
>>938
>>931 って言っているのに、無茶苦茶だなww
2020/08/19(水) 01:49:49.41ID:YTouGjjr
お前らいつも仲がいいな
じゃれ合うのはよそでやってくれ
2020/08/19(水) 01:53:29.95ID:sn9Oor5N
>>940
俺だけじゃないけどなww
こいつに関わると堂々巡りになるのはいつもの誰しもなパターン。その場しのぎだし、論理的におかしいところにツッコミたい欲求wはまあある意味職業病なもんかな
2020/08/19(水) 08:01:24.25ID:+v1h21jP
sedでダブルクォートのまま!を使えないだろうか
"$VAR!d"みたいに変数と否定使いたい
ただこれだとbashの履歴が出るしエスケープしようにも"$VAR\!d"は利かないし
他に利口な方法があったら教えろ下さい
2020/08/19(水) 08:37:37.92ID:s10sMgcS
シングルクオート内でシングルクオートは使えないのと同じようなもんじゃね
'$VAR'\''s'
($VAR's と出したい)
のように一度外に出れば?
2020/08/19(水) 12:22:46.96ID:WBHz5jMf
>>942
Bashの対話モードで履歴展開を有効にしている
以上どうしようもないと思う。
(いや,もしかしたら方法があんのかも知れないが)

対話モードじゃなくてスクリプトにするか,
履歴展開を一時的にでも無効化する,ていうのが手っ取り早い。
2020/08/19(水) 17:50:33.33ID:KBW9Mump
それが履歴展開になるためには対話モードで行編集が有効で履歴展開が有効で
コマンドラインとして入力し、適切にエスケープもされていない必要がある。
だから、そのどれかを崩せばいい。方法はたくさんある。
個人的には Emacs の shell-mode を使ってる。(行編集が無効になる)
946デフォルトの名無しさん
垢版 |
2020/08/21(金) 06:49:19.79ID:RjoBQXpc
IFSを変更して効果があるのってreadと$*変数だけだっけ。
たとえばsetの引数の区切りを設定することはできないのかな。
実際,
IFS=: set -- a:bbb:cc:dd
とかやっても
$1にa bbb cc ddという値全部が格納されてしまって
$1 $2 $3 $4でa bbb cc ddをそれぞれ取り出す,みたいなことができない。
2020/08/21(金) 09:25:14.82ID:cTh5+k8G
>>946
それは引数の処理が行われてからIFSが実行されるから
IFS=:
set -- ってやれば動く
一行でできれば変数戻さなくて便利だったのにねぇ
2020/08/21(金) 12:12:03.02ID:RjoBQXpc
>>947
あ……ほんとだ。
なんで確かめなかったんだろう,私は。
IFS=:を単独?で実行して以降だったら
setの引数にもIFSの値が反映されたわ。

スレ汚してすまん。
2020/08/21(金) 13:44:22.82ID:BbNSEcdL
>>942
対話シェルの!dはdで始まる直前の履歴を出すから>>944の言う通りこいつを無効にすればおk
シェルスクリプトなら小細工なしで "/$VAR/!dは使える
set +H か set +o histexpandで!置換解除、-で有効化
$ FOO=`seq 3`; VAR=1
$ set +H
$ sed "/$VAR/!d" <<<"$FOO"
1
bashの設定だからset +H && sed みたいに繋げてもダメなのなこれ
2020/08/21(金) 14:45:53.34ID:w5e9p4kz
bash -c "sed .."
でいいのでは。
2020/08/21(金) 15:20:04.98ID:mArnj/tT
次スレ

シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況