[過去ログ] シェルスクリプト総合 その27 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
40: 名無しさん@お腹いっぱい。 [sage] 2018/05/08(火) 04:42:22.78 AAS
>>37,3837(1): 名無しさん@お腹いっぱい。 [sage] 2018/05/08(火) 03:13:56.60 AAS
オブジェクト指向云々は、多分、
名前重要って事を言いたかったんだと思うよ
38(2): 名無しさん@お腹いっぱい。 [sage] 2018/05/08(火) 03:29:14.73 AAS
たぶん>>21はオブジェクト指向の文脈で名前の付け方の重要性を知って
んで、その前提でオブジェクト指向って単語を出したんだろうけど
他の人はその前提を共有してないから、シェルでオブジェクト指向(笑)となって
挙句関数型だの尾ひれはひれに揚げ足取りするに至ったと憶測しました
それは知っていてのだったがな
そこここにはそれ流があると思うよ。LinuxとかBSDのソース見たらいまだにC流で短かったりするし。シェルスクリプトなら>>2020(2): 名無しさん@お腹いっぱい。 [sage] 2018/05/06(日) 18:51:19.88 AAS
"NOP" 3文字
":" 1文字
っていう意見があってもいいだろう、そもそもいろいろ記号的なもんだから
なのにいきなりオブジェクト指向とか言い出し馬鹿にするのがTPOをわきまえない馬鹿だなっていう
シェルスクリプトがオブジェクト指向ならそれはそれでオブジェクト指向言語というかそれでのフレームワークなどでの名前付け方がってのはわかるけど
42: 名無しさん@お腹いっぱい。 [sage] 2018/05/08(火) 08:53:21.78 AAS
名前の長さとオブジェクト指向は独立した話だからなあ。
オブジェクト指向って言うからにはクラスか、あるいは型のプロトタイプか、どっちかは必須だろう。
195: 名無しさん@お腹いっぱい。 [sage] 2018/06/05(火) 17:19:01.78 AAS
だな
247(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 01:01:10.78 AAS
>>238238(2): 名無しさん@お腹いっぱい。 [sage] 2018/06/06(水) 16:47:01.39 AAS
>>234
型なんて文字列しかねーよ
HTMLのフォームからのPOSTと同じだ
a=1
echo $((a + 1))
この場合の$aは数値じゃないんですか?
273: 名無しさん@お腹いっぱい。 [sage] 2018/06/08(金) 01:20:44.78 AAS
>>257,258,254257(2): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 12:58:55.50 AAS
Arrayひとつを単一の文字列で渡して、受けたとった方がArrayに戻すかなあ
sub-script.sh "${array1[*]}" "${array2[*]}" "${array3[*]}" ...
sub-script.sh:
array1=($1)
array2=($2)
array3=($3)
Arrayのアイテムの内容がIFSに引っかかってたらIFSを書き換える(/同調)するかなあ。よくありそうなアイテムがスペースありとかだったら、アイテムの内容として入ってなさそうなタブにするとか
(IFS=$'\t'; sub-script.sh "${array1[*]}" "${array2[*]}" "${array3[*]}" ...)
sub-script.sh:
array1=($1)
array2=($2)
array3=($3)
(分解時のセパレータとしてはタブもデフォルトIFSに入っているので分解時には特に設定する必要はない)
てか、そんなに配列をばんばん使わない方がいいんじゃねと思わなくもないw
258(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 13:38:14.12 AAS
>>255
コマンドライン経由の意味はよくわからないが、
多分ファイルを使うのがいいと思う。
[渡す側]
declare | grep "渡したい変数" > /path/save
[受け取る側]
source /path/save
254(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 12:21:50.51 AAS
>>248
ありがとうございます。
実は他の方のレスを見て、関数というものを調べて
ある程度スッキリしたコードにできたのですが
当初自分の頭で考えていた>>212のようなコードがが動くようにご指摘いただけたのは
非常に助かりました。ありがとうございます。
全部、シリアライズ/デシリアライズのことで、どういうシリアライズ/デシリアライズを使うかでしかなく、まあ、普通はそれしかないわなで終わってることなんだけどね
ちょっとなんか他のスクリプト言語であるのかと気になったので
352(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:12:08.78 AAS
>>347347(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:10:01.41 AAS
だったらお前がそのわけわからんCVS形式でない答えを応えれtばええんちゃんですかね?具体的に何も言ってないのに対する汎用的な
自称賢いらしいから時間かけずになんでもござれの汎用的的なのかけるだろ?
> だったらお前がそのわけわからんCVS形式でない答えを応えれtばええんちゃんですかね
データの中に改行コードがあるってだけで、
フォーマットは最初から指定してないよ?
その場合どういうやり方があるでしょうって話なんだが、
CSVだと思いこんで効率の悪い方法しか思いつかず
指摘したら逆ギレするのやめなよ?ダサいから
424(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 22:55:00.78 AAS
>>423423(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 22:53:10.76 AAS
>>420
> 前処理:データ中の改行だけをナニかに変える
> 本処理:改行が終端の一行=1レコードを処理する
> 後処理:ナニかに変えたのを改行に戻す
それは理解しているが、
1. 改行を何かに また 何かを改行にするには、どうやるのか?
2. 変える または 戻す 処理は1コマンドで実行できるのか?
の答えが、1行ずつfork、execしなきゃならないから
データ量に比例して遅くなるって話をしてる
お前にじゃねえよ。お前は面倒なのでいいよw
遅い遅い言っていれば。1行ずつfork、execしなくてもいい方法もあるのにそこには考えが及ばないだろうし
472(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/11(月) 00:27:33.78 AAS
某原理主義者のニオイがする
478: 名無しさん@お腹いっぱい。 [sage] 2018/06/11(月) 01:42:28.78 AAS
見た目でわかる文字列への置き換え派ですが、いにしえのエスケープコードの流用はいいアイデアだと思いました。
648: 名無しさん@お腹いっぱい。 [sage] 2018/06/16(土) 13:16:47.78 AAS
>>647647(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/16(土) 13:15:44.53 AAS
>>646
>あれは確かSIGPIPEを受けとらない
いや、それはないだろう。単に>>621の違いじゃないの
macOS Sierra標準のbashはまだ |& をサポートしてないヤツみたいなので(??)、2>&1 | としたが同じくfindは終わる
× >>621621(3): 619 [sage] 2018/06/14(木) 22:51:53.48 AAS
すまん間違えて送信しちゃった
$ find /etc -exec sh -c 'basename {}' \; | head
これでどうだろう。
-quitオプションはPOSIXの範疇ではないけどこれはPOSIXに準拠してる
ちなみに>>610のコマンドラインはDebian GNU/Linuxのfind 4.7で再現した。
○ >>620620(2): 名無しさん@お腹いっぱい。 [sage] 2018/06/14(木) 22:50:38.44 AAS
CentOS$ strings /bin/find | grep -i signal
signal
%s terminated by signal %d
FreeBSD$ strings /usr/bin/find | grep -i signal
なんもなし
以上、findのおせっかい度の差。
710(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/19(火) 05:53:06.78 AAS
>>708708(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/19(火) 04:54:42.99 AAS
自分は引数を取らず固定されたフィルタはaliasで定義することにしている
例えばeraelコマンド(ERAce Empty Line)。
alias erael='sed -e "/^$/d"'
ただ大抵はシェルスクリプトの先頭に記述するのであなたの言う通り関数の中で宣言する意図は分からん。
使い方としてはわかったけど、
ぶっちゃけそれだって関数作ればいいだけなんだよなぁ
erase() { sed -e "/^$/d" "$@"; }
758: 名無しさん@お腹いっぱい。 [sage] 2018/06/24(日) 10:16:34.78 AAS
/tmpでいいじゃん
793: 名無しさん@お腹いっぱい。 [sage] 2018/07/02(月) 14:27:23.78 AAS
コマンド由来とC由来ゆうてるやんw
printf(1) は printf(3) と同じと思えば不思議ではないだろう。echo も -n で改行しないようにもできるけどイレギュラー、コマンド由来だからな
>>791791(2): 名無しさん@お腹いっぱい。 [sage] 2018/07/02(月) 14:23:46.00 AAS
それらの違いが分からないのは使ってないからだろ
使ってないなら知る必要もないし知ろうとも思わない
自作自演かな?
まあ、なんの目的で聞いてるのかさっぱりわからんくはあるな。なんの自作自演なのかさっぱりだけど
824: 名無しさん@お腹いっぱい。 [sage] 2018/07/04(水) 16:22:26.78 AAS
日本語で書いてくれないとわかりません
できれば修正したコマンドを書いてください
887(2): 名無しさん@お腹いっぱい。 [sage] 2018/07/17(火) 14:17:28.78 AAS
shar知らない人のために説明しておくと、
これは単なる自己解凍形式の圧縮ファイル形式に過ぎない
963(2): 961 [sage] 2018/07/24(火) 11:43:21.78 AAS
>>962962(1): 名無しさん@お腹いっぱい。 [sage] 2018/07/24(火) 11:25:29.69 AAS
IDだけか?
ワッチョイいれるんじゃないのか
実はワッチョイを提案したのは俺なんだけど
あんまり賛同者がいないようだし
勝手にやるのもどうかなと思ったんだわ。
今はID板でやって
それでも荒れるようであればワッチョイ付けるっていう方針でいいかなと思ってる
990: 名無しさん@お腹いっぱい。 [sage] 2018/08/02(木) 04:05:27.78 AAS
>>989989(1): 名無しさん@お腹いっぱい。 [sage] 2018/08/02(木) 01:46:48.23 AAS
>>988
SFU や WSL の流れからして、Busybox 相当の標準搭載も需要も無いと思いますよ。
必要ならば Sysinternals 等の TechNet フォーラムに参加して要望を出してみては。
需要がないのになんで次から次へと出てくるの?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.066s