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

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

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

シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
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/
2020/10/24(土) 02:23:12.69ID:hkdVUCy1
find 等でバイナリーの実行ファイル(だけ)を探す、ってできますかね?

実行ビットが立っているファイルという条件だと、スクリプトや無駄に実行ビットが立っている
ファイルなども入りますがそういうのは除外で。
2020/10/24(土) 04:17:59.50ID:B0bAZBgR
fileコマンドで判別
2020/10/24(土) 09:27:42.04ID:hkdVUCy1
>>953
なるほど、"ELF 64-bit LSB shared object..." みたいな出力を適当にパターンマッチ
してマッチしたらバイナリーとみなす感じですかね。
955デフォルトの名無しさん
垢版 |
2020/10/26(月) 04:10:47.99ID:zDyo5E1K
そうそう。
俺はたまにそれでPerlスクリプト探したりする。
2020/10/26(月) 04:18:19.90ID:lc/L7zsO
検索してみるとわかるんだが
Perlのスクリプトは、いっぱいある。
いっぱーある
957デフォルトの名無しさん
垢版 |
2020/10/27(火) 22:35:54.90ID:wfYFUdXE
ああ。俺もどんどん作ってるからな。お前も作れ。
958デフォルトの名無しさん
垢版 |
2020/10/28(水) 09:56:31.35ID:YwI8VR+h
シェルと言えば攻殻機動隊。
2020/10/28(水) 10:07:24.29ID:3yQQm3er
L'Arc〜en〜石油
2020/10/31(土) 10:10:25.35ID:fByX2qim
シェルじゃなくてシエル、ですか
2020/11/03(火) 03:20:44.70ID:JyRXzZ9S
ランス
2020/12/07(月) 22:55:46.40ID:tk5+iJIP
fishです。
フォルダの中のテキストファイルをファイル名込みで結合して一つのファイルにしたいです。
0000.txt"hogehoge"
0001.txt "fugafuga"
これを
all.txt
"0000.txt hogehoge
0001.txt fugafuga"
としたいです。
for f in [1-9]*.txt; printf “%s “ (basename (f .txt)); cat $f; end > all.txt
このコマンドを試しましたが空のall.txtができるだけでした。
2020/12/07(月) 23:09:38.88ID:2/Fcr04g
>[1-9]*.txt
0000.txtはもちろん0001.txtも該当しない
2020/12/08(火) 09:58:06.20ID:mRX58OUJ
>>963

言われてみればその通りですね
for f in 0(seq -w 100).txt; printf “%s “ (basename(f .txt));cat $f; end > all.txt
に直してみました。連番作成はこれで十分そうです
しかし別の問題が発生しました。
・f.txtのfの部分が相変わらずエラーになっています。文章の頭にファイル名がつきません。
・for f in 0(seq -w 0100).txt; printf “%s” $f ;cat $f; end > all.txtと変更して使ってみたところ、
連番(ファイル名の代わり)が文章の頭につくのはいいのですが
文字化けがひどく特に日本語はまったく読めません。
965デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:49:35.32ID:8Z169BTH
埋め
966デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:49:43.54ID:8Z169BTH
うめうめ
967デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:49:51.93ID:8Z169BTH
うめよう
968デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:00.49ID:8Z169BTH
うめます
969デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:09.36ID:8Z169BTH
970デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:19.49ID:8Z169BTH
梅梅
971デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:27.98ID:8Z169BTH
梅ます
972デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:37.13ID:8Z169BTH
埋めます
973デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:48.39ID:8Z169BTH
梅うめ
974デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:50:56.20ID:8Z169BTH
うめめ
975デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:05.14ID:8Z169BTH
スクリプト梅
976デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:18.95ID:8Z169BTH
梅うp
977デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:28.08ID:8Z169BTH
埋めよう
978デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:36.79ID:8Z169BTH
うめ!!
979デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:46.39ID:8Z169BTH
ううめ
980デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:51:54.99ID:8Z169BTH
うっめっ
981デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:03.25ID:8Z169BTH
うめめ
982デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:10.77ID:8Z169BTH
うめーうめ
983デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:18.73ID:8Z169BTH
うめてく
984デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:27.43ID:8Z169BTH
うめよっ
985デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:36.27ID:8Z169BTH
埋めておk
986デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:44.87ID:8Z169BTH
うめmっs
987デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:52:55.35ID:8Z169BTH
うめますね
988デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:03.56ID:8Z169BTH
うめ!!
989デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:11.82ID:8Z169BTH
うま
990デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:21.41ID:8Z169BTH
うめです
991デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:28.36ID:8Z169BTH
うめっす
992デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:36.64ID:8Z169BTH
うめ!
993デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:45.23ID:8Z169BTH
うめるよ
994デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:53:58.71ID:8Z169BTH
うまs
995デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:54:06.24ID:8Z169BTH
うめ
996デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:54:15.81ID:8Z169BTH
うめっっ
997デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:54:24.53ID:8Z169BTH
997
998デフォルトの名無しさん
垢版 |
2020/12/11(金) 08:54:32.81ID:8Z169BTH
998
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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