シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その29
https://mevius.5ch.net/test/read.cgi/tech/1537540487/
シェルスクリプト総合 その30
■ このスレッドは過去ログ倉庫に格納されています
2019/07/01(月) 23:04:27.02ID:/rKj5XUf
752デフォルトの名無しさん
2019/08/10(土) 03:11:46.31ID:L+B8OP2P753デフォルトの名無しさん
2019/08/10(土) 03:12:41.50ID:L+B8OP2P はぁ、またわずかに書くのが遅れたw
754デフォルトの名無しさん
2019/08/10(土) 03:35:54.66ID:6d2gRK68 $@ の中身が printable character だけなら GNU awk の SUBSEP 変数と同じ
様に IFS に '\034'(File Separator) を指定して
[ $# -eq 0 ] && exit 0
IFS=$(printf '\034');set -- $(printf "x%sz${IFS}" "$@")
IFS=,;echo "$*"
とか
様に IFS に '\034'(File Separator) を指定して
[ $# -eq 0 ] && exit 0
IFS=$(printf '\034');set -- $(printf "x%sz${IFS}" "$@")
IFS=,;echo "$*"
とか
755デフォルトの名無しさん
2019/08/10(土) 03:42:31.75ID:L+B8OP2P それだと引数に、"a b" が入ってるときにうまく動かない
あと先手を打ってるつもりなら、これを読むように
https://en.wikipedia.org/wiki/ASCII#Printable_characters
あと先手を打ってるつもりなら、これを読むように
https://en.wikipedia.org/wiki/ASCII#Printable_characters
756デフォルトの名無しさん
2019/08/10(土) 03:43:06.24ID:L+B8OP2P 訂正
それだと "a b" のように引数にスペースが入ってるときにうまく動かない
それだと "a b" のように引数にスペースが入ってるときにうまく動かない
757デフォルトの名無しさん
2019/08/10(土) 03:46:54.60ID:L+B8OP2P 間違えたw
758デフォルトの名無しさん
2019/08/10(土) 03:50:33.54ID:6d2gRK68 set -- a "b c" d
IFS=$(printf '\034');set -- $(printf "x%sz${IFS}" "$@")
IFS=,;echo "$*"
とすると xaz,xb cz,xdz となるのだが、そういう事じゃなくて?
IFS=$(printf '\034');set -- $(printf "x%sz${IFS}" "$@")
IFS=,;echo "$*"
とすると xaz,xb cz,xdz となるのだが、そういう事じゃなくて?
759デフォルトの名無しさん
2019/08/10(土) 03:54:52.71ID:L+B8OP2P760デフォルトの名無しさん
2019/08/10(土) 03:57:09.38ID:leF4BPLu bash ならどれぐらい分かりやすく書ける?
761デフォルトの名無しさん
2019/08/10(土) 03:58:27.60ID:lTTXvTcQ ぽじっくすに拘ったりぜっしゅに拘ったり急がしやっちゃなw
762デフォルトの名無しさん
2019/08/10(土) 04:01:38.59ID:lTTXvTcQ763デフォルトの名無しさん
2019/08/10(土) 04:04:22.25ID:lTTXvTcQ764デフォルトの名無しさん
2019/08/10(土) 04:04:55.05ID:6d2gRK68765デフォルトの名無しさん
2019/08/10(土) 04:06:36.42ID:lTTXvTcQ >>752
訊きたいんだけど,
引数を完全に置き換えてしまうことについてはどう思ってる?
再掲するけど
> (問題文に書いてないので推測するしかないが)引数自体はそのまま残したい場合もあるだろうから
> 引数を置き換えてしまう方法だと不本意な結果を招くかもしれないとも思った。
引数自体を弄くる方法だとこういうことになるのでは……?
訊きたいんだけど,
引数を完全に置き換えてしまうことについてはどう思ってる?
再掲するけど
> (問題文に書いてないので推測するしかないが)引数自体はそのまま残したい場合もあるだろうから
> 引数を置き換えてしまう方法だと不本意な結果を招くかもしれないとも思った。
引数自体を弄くる方法だとこういうことになるのでは……?
766デフォルトの名無しさん
2019/08/10(土) 04:08:24.77ID:lTTXvTcQ767デフォルトの名無しさん
2019/08/10(土) 04:09:03.91ID:L+B8OP2P >>761
> ぽじっくすに拘ったりぜっしゅに拘ったり急がしやっちゃなw
何いってんの? POSIX互換シェルにこだわってるだけだよ。
POSIXもdashもzshもbashもワケてない
POSIX互換シェルという一つのこだわりw
> ぽじっくすに拘ったりぜっしゅに拘ったり急がしやっちゃなw
何いってんの? POSIX互換シェルにこだわってるだけだよ。
POSIXもdashもzshもbashもワケてない
POSIX互換シェルという一つのこだわりw
768デフォルトの名無しさん
2019/08/10(土) 04:11:01.54ID:L+B8OP2P769デフォルトの名無しさん
2019/08/10(土) 04:14:17.41ID:L+B8OP2P >>764
> POSIX 的には $# == 3 になるのが正しい動作なのかね?
めんどくさくて調べてないな。
でもzshだけではなく、今は使われてないだろう古いシェルや
とあるシェルの古いバージョンでは4で、後のバージョンでは3になってたりするから
おそらく $# == 3 が正しいのだろう。
だが、現実として動かないシェルがある
POSIX互換シェルに拘ってるといったが、正確にはPOSIX互換シェルと名乗っている
現実に存在するシェルに拘っているというべきか
> POSIX 的には $# == 3 になるのが正しい動作なのかね?
めんどくさくて調べてないな。
でもzshだけではなく、今は使われてないだろう古いシェルや
とあるシェルの古いバージョンでは4で、後のバージョンでは3になってたりするから
おそらく $# == 3 が正しいのだろう。
だが、現実として動かないシェルがある
POSIX互換シェルに拘ってるといったが、正確にはPOSIX互換シェルと名乗っている
現実に存在するシェルに拘っているというべきか
770デフォルトの名無しさん
2019/08/10(土) 04:14:54.05ID:L+B8OP2P771デフォルトの名無しさん
2019/08/10(土) 04:15:21.60ID:lTTXvTcQ ZshってPOSIX互換を謳ってたっけ?
少なくとも公式ページ[zsh.org]にはそんな記述は見当らんが…。
もしかしてemulate -R shをPOSIX準拠モードとかだと思ってる…?
少なくとも公式ページ[zsh.org]にはそんな記述は見当らんが…。
もしかしてemulate -R shをPOSIX準拠モードとかだと思ってる…?
772デフォルトの名無しさん
2019/08/10(土) 04:19:09.04ID:lTTXvTcQ773デフォルトの名無しさん
2019/08/10(土) 04:20:00.43ID:L+B8OP2P >>762
Solarisは10まで(POSIX互換ではない)Bourne Shellが
デフォルトシェルだってのがいただけない
Extended Supportが2021年までらしい。
まあ俺はPOSIXじゃないからという理由で切り捨てることにしてるが
Solarisは10まで(POSIX互換ではない)Bourne Shellが
デフォルトシェルだってのがいただけない
Extended Supportが2021年までらしい。
まあ俺はPOSIXじゃないからという理由で切り捨てることにしてるが
774デフォルトの名無しさん
2019/08/10(土) 04:20:29.77ID:lTTXvTcQ >>694
> 今回は a b c を xaz,xbz,xcz にしたいから IFS=, を使わなかったわけだが →分かる
> それでもIFS=,を使うならばどうすればよいだろうか?→そうだな,どうすればいいんだろう。
> 言い換えると、引き数 a b c を xaz xbz xcz にすればいいわけだが、→え?空白区切り?今IFS=,の話だよな??
> さてどうすればよいだろうか? →????
> 今回は a b c を xaz,xbz,xcz にしたいから IFS=, を使わなかったわけだが →分かる
> それでもIFS=,を使うならばどうすればよいだろうか?→そうだな,どうすればいいんだろう。
> 言い換えると、引き数 a b c を xaz xbz xcz にすればいいわけだが、→え?空白区切り?今IFS=,の話だよな??
> さてどうすればよいだろうか? →????
775デフォルトの名無しさん
2019/08/10(土) 04:23:34.50ID:L+B8OP2P776デフォルトの名無しさん
2019/08/10(土) 04:26:01.61ID:L+B8OP2P >>774
お前プログラマに向いてないよw
推論能力が圧倒的に不足してる
引数が、xaz xbz xcz の状態なら、IFS使って xaz,xbz,xcz にできるだろw
って言っても理解できないんだろうなw
お前プログラマに向いてないよw
推論能力が圧倒的に不足してる
引数が、xaz xbz xcz の状態なら、IFS使って xaz,xbz,xcz にできるだろw
って言っても理解できないんだろうなw
777デフォルトの名無しさん
2019/08/10(土) 04:28:59.25ID:YdwKfvKq いつものクイズくん
778デフォルトの名無しさん
2019/08/10(土) 04:29:01.72ID:L+B8OP2P779デフォルトの名無しさん
2019/08/10(土) 04:29:23.37ID:L+B8OP2P >>777
呼びました?(別に隠してない)
呼びました?(別に隠してない)
780デフォルトの名無しさん
2019/08/10(土) 04:35:32.28ID:6d2gRK68 >>778
Zsh is able to emulate POSIX shells, but its default mode is not POSIX compatible
なんて書いてあるから何か変数を設定しないとダメみたいだな
色々弄ってるけど $# が 3 にならんのぅ…ソースコード読むしかないかなw
Zsh is able to emulate POSIX shells, but its default mode is not POSIX compatible
なんて書いてあるから何か変数を設定しないとダメみたいだな
色々弄ってるけど $# が 3 にならんのぅ…ソースコード読むしかないかなw
781デフォルトの名無しさん
2019/08/10(土) 04:38:16.54ID:L+B8OP2P >>780
たぶんその挙動はバグで確定だと思うでw
たぶんその挙動はバグで確定だと思うでw
782デフォルトの名無しさん
2019/08/10(土) 04:41:34.35ID:L+B8OP2P >>768の質問には答えてくれないのかな?
set -uしてると引数が存在しない場合に動かない古いシェルはなにか?
set -uしてると引数が存在しない場合に動かない古いシェルはなにか?
783デフォルトの名無しさん
2019/08/10(土) 04:42:42.71ID:lTTXvTcQ784デフォルトの名無しさん
2019/08/10(土) 04:43:21.02ID:lTTXvTcQ785デフォルトの名無しさん
2019/08/10(土) 04:44:17.65ID:L+B8OP2P 別にイキってないが、イキってるように見えるのは
俺じゃなくて、お前の問題でしょう? 普通のことなのにお前にはそう見えてしまう。
俺じゃなくて、お前の問題でしょう? 普通のことなのにお前にはそう見えてしまう。
786デフォルトの名無しさん
2019/08/10(土) 04:45:41.26ID:L+B8OP2P787デフォルトの名無しさん
2019/08/10(土) 04:49:56.25ID:L+B8OP2P なんで>>765みたいな質問が来るのかを推測したが、
提示したコードはそれで「完成したコード」で
そのコードを修正した「応用」は存在しないとか思ってないか?
違うことをしたいならそれに応じて変えればよかろう?
提示したコードはそれで「完成したコード」で
そのコードを修正した「応用」は存在しないとか思ってないか?
違うことをしたいならそれに応じて変えればよかろう?
788デフォルトの名無しさん
2019/08/10(土) 04:50:45.96ID:lTTXvTcQ >>782
>>786で一応答えを頂いたので,>>768への回答をば。
https://www.in-ulm.de/~mascheck/various/bourne_args/
ここの
These shells behave the old way and need ${1+"$@"}:
に色々載ってるぜ
俺が知らないシェルもあって勉強になったわ。
>>786で一応答えを頂いたので,>>768への回答をば。
https://www.in-ulm.de/~mascheck/various/bourne_args/
ここの
These shells behave the old way and need ${1+"$@"}:
に色々載ってるぜ
俺が知らないシェルもあって勉強になったわ。
789デフォルトの名無しさん
2019/08/10(土) 04:57:52.03ID:lTTXvTcQ790デフォルトの名無しさん
2019/08/10(土) 05:00:56.32ID:L+B8OP2P >>788
それを探してきたかw
じゃあそこに書いてない情報を。
poshは<0.10(8年前)ということになってるが、未だ最新版(9ヶ月前)の0.13.2でも修正されていない
だから「古いシェル」は実は間違い
バグ報告はでてるんだがねぇ
posh: set -u prevents using empty argument list
Date: Wed, 3 May 2017 12:24:01 UTC
Found in version posh/0.12.6
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861743
posh can not use "$@" together with set -u
Date: Wed, 14 Nov 2018 10:00:01 UTC
Found in version posh/0.13.2
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913718
それを探してきたかw
じゃあそこに書いてない情報を。
poshは<0.10(8年前)ということになってるが、未だ最新版(9ヶ月前)の0.13.2でも修正されていない
だから「古いシェル」は実は間違い
バグ報告はでてるんだがねぇ
posh: set -u prevents using empty argument list
Date: Wed, 3 May 2017 12:24:01 UTC
Found in version posh/0.12.6
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861743
posh can not use "$@" together with set -u
Date: Wed, 14 Nov 2018 10:00:01 UTC
Found in version posh/0.13.2
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913718
791デフォルトの名無しさん
2019/08/10(土) 05:03:11.51ID:L+B8OP2P792デフォルトの名無しさん
2019/08/10(土) 05:19:53.11ID:YdwKfvKq793デフォルトの名無しさん
2019/08/10(土) 06:27:36.08ID:lTTXvTcQ >>790
うーん。
まあそうなのかもしれないが
poshを「無意識に」使ってしまう環境なんてあるのだろうか?
例えば#!/bin/shが/usr/bin/bashにリンクされてる環境であれば,
BashのPOSIX互換モード特有のバグには注意しなくてはいけないし,
/bin/shの実体が/usr/bin/bashになってる環境は多いので,
多くの利用者が「今 自分が使っている/bin/shが実はBashだ」と意識することなく
POSIX shで正しく動く筈のシェルスクリプトを走らせることがあると想定できる。
でもposhが既定で/bin/shにリンクされてたりする環境があるとは思えない…。
うーん。
まあそうなのかもしれないが
poshを「無意識に」使ってしまう環境なんてあるのだろうか?
例えば#!/bin/shが/usr/bin/bashにリンクされてる環境であれば,
BashのPOSIX互換モード特有のバグには注意しなくてはいけないし,
/bin/shの実体が/usr/bin/bashになってる環境は多いので,
多くの利用者が「今 自分が使っている/bin/shが実はBashだ」と意識することなく
POSIX shで正しく動く筈のシェルスクリプトを走らせることがあると想定できる。
でもposhが既定で/bin/shにリンクされてたりする環境があるとは思えない…。
794デフォルトの名無しさん
2019/08/10(土) 08:53:06.96ID:x0rFB4wI >>751
この書き方が分かりやすくて良いと思うんだけど何か問題あるの?
この書き方が分かりやすくて良いと思うんだけど何か問題あるの?
795デフォルトの名無しさん
2019/08/10(土) 09:44:59.99ID:L+B8OP2P >>794
その話はもう終わってる
その話はもう終わってる
796デフォルトの名無しさん
2019/08/10(土) 09:50:56.01ID:L+B8OP2P797デフォルトの名無しさん
2019/08/10(土) 09:52:55.77ID:lTTXvTcQ >>794
もう触れるな。
もう触れるな。
798デフォルトの名無しさん
2019/08/10(土) 09:55:34.95ID:L+B8OP2P >>796に対する返答は?
799デフォルトの名無しさん
2019/08/10(土) 10:06:01.28ID:x0rFB4wI 引数を置換するってだけで何をぐだぐだ言ってるんだかw
800デフォルトの名無しさん
2019/08/10(土) 10:15:01.29ID:L+B8OP2P だから>>751は「引数を置換する」コードになってないだろ?
801デフォルトの名無しさん
2019/08/10(土) 10:20:30.35ID:x0rFB4wI オリジナルの引数を置換するのはプログラマーの本能が止めろと言っているw
普通は置換したもの別の変数に入れて使うよな
普通は置換したもの別の変数に入れて使うよな
802デフォルトの名無しさん
2019/08/10(土) 10:31:58.19ID:L+B8OP2P >>801
そのルールを守りつつ、IFS=,でjoinするというテクニックを使って(必須です。カンマ区切りをするときに使用します)
引数 a b c (例です。引数の内容、個数は変わることがあります)から
xaz,xbz,xcz (例です。引数の前後にxとzをつけてカンマ区切りにするという意味です)
という出力を得るコードを書くところまでやるのが君の仕事。
それができれば一人前だ!
そのルールを守りつつ、IFS=,でjoinするというテクニックを使って(必須です。カンマ区切りをするときに使用します)
引数 a b c (例です。引数の内容、個数は変わることがあります)から
xaz,xbz,xcz (例です。引数の前後にxとzをつけてカンマ区切りにするという意味です)
という出力を得るコードを書くところまでやるのが君の仕事。
それができれば一人前だ!
803デフォルトの名無しさん
2019/08/10(土) 10:37:28.54ID:L+B8OP2P 「POSIX準拠で」をつけ忘れたなw
そこまで文脈読めてないやつじゃないだろうが
そこまで文脈読めてないやつじゃないだろうが
804デフォルトの名無しさん
2019/08/10(土) 10:43:31.28ID:x0rFB4wI マウントとらないと死んじゃう病気なのかw
805デフォルトの名無しさん
2019/08/10(土) 10:47:01.43ID:L+B8OP2P >>804
?
俺はシェルスクリプトではやらないが、
他の言語で引数を置換するのはやめろというのはわかるから
その理屈は間違いじゃないとして、じゃあそれをシェルスクリプトでやるには
どうすればいいだろうか?という新たな出題に変えただけだけど?
いや、できるでしょ?これ。
?
俺はシェルスクリプトではやらないが、
他の言語で引数を置換するのはやめろというのはわかるから
その理屈は間違いじゃないとして、じゃあそれをシェルスクリプトでやるには
どうすればいいだろうか?という新たな出題に変えただけだけど?
いや、できるでしょ?これ。
806デフォルトの名無しさん
2019/08/10(土) 10:48:10.57ID:L+B8OP2P もちろんトリッキーなコードになるだろうけど
(こういうのこそトリッキーというべきだろう)
(こういうのこそトリッキーというべきだろう)
807デフォルトの名無しさん
2019/08/10(土) 10:49:05.37ID:x0rFB4wI808デフォルトの名無しさん
2019/08/10(土) 10:49:46.44ID:L+B8OP2P809デフォルトの名無しさん
2019/08/10(土) 10:51:11.39ID:x0rFB4wI810デフォルトの名無しさん
2019/08/10(土) 10:51:49.42ID:L+B8OP2P811デフォルトの名無しさん
2019/08/10(土) 10:52:52.04ID:L+B8OP2P812デフォルトの名無しさん
2019/08/10(土) 10:54:58.72ID:L+B8OP2P813デフォルトの名無しさん
2019/08/10(土) 10:58:02.57ID:x0rFB4wI やりたいことができればそれでいいじゃん
814デフォルトの名無しさん
2019/08/10(土) 11:22:44.90ID:L+B8OP2P815デフォルトの名無しさん
2019/08/10(土) 11:44:27.56ID:x0rFB4wI 手段が目的化する典型的な例だな
そんな縛りプレイに付き合う気になれんな
で、後からコード出して
こんなのも分からんのか?大したことねえな
ってやりたいんだろ?
それはな、
その問題がつまらないから誰もやらないんだよw
そんな縛りプレイに付き合う気になれんな
で、後からコード出して
こんなのも分からんのか?大したことねえな
ってやりたいんだろ?
それはな、
その問題がつまらないから誰もやらないんだよw
816デフォルトの名無しさん
2019/08/10(土) 12:08:44.58ID:Du6eKhDT817デフォルトの名無しさん
2019/08/10(土) 12:09:45.60ID:Du6eKhDT あ,ごめん。ID変わってるけど>>797とかです。
818デフォルトの名無しさん
2019/08/10(土) 12:22:13.64ID:L+B8OP2P >>816
あんたはposhが使われる環境があるとは思えないが
古いシェルが使われる環境はあると思ってset -uの話をしたってこと?
> bash-4.0.0 ... -4.0.27
> dash-0.4.6 ... -0.4.18
> all ksh88
> ksh93 until release t+20090501
> pdksh-5.1.3, -5.2.14
> mksh before R39 (as pdksh descendant)
> posh < 0.10 (as pdksh descendant)
> NetBSD 2 ff. /bin/sh
> all traditional Bourne shells
bash 4.0といえば2009年だね。10年近く前のシェルで動かないからって何?
そんなシェルのことまで考えろって言いたかったの?
あんたはposhが使われる環境があるとは思えないが
古いシェルが使われる環境はあると思ってset -uの話をしたってこと?
> bash-4.0.0 ... -4.0.27
> dash-0.4.6 ... -0.4.18
> all ksh88
> ksh93 until release t+20090501
> pdksh-5.1.3, -5.2.14
> mksh before R39 (as pdksh descendant)
> posh < 0.10 (as pdksh descendant)
> NetBSD 2 ff. /bin/sh
> all traditional Bourne shells
bash 4.0といえば2009年だね。10年近く前のシェルで動かないからって何?
そんなシェルのことまで考えろって言いたかったの?
819デフォルトの名無しさん
2019/08/10(土) 12:23:33.86ID:L+B8OP2P >>815
俺に出されるのが嫌なら、お前が先に出せばいいやんw
俺に出されるのが嫌なら、お前が先に出せばいいやんw
820デフォルトの名無しさん
2019/08/10(土) 12:31:02.29ID:x0rFB4wI821デフォルトの名無しさん
2019/08/10(土) 12:37:04.59ID:L+B8OP2P822デフォルトの名無しさん
2019/08/10(土) 12:42:22.81ID:x0rFB4wI823デフォルトの名無しさん
2019/08/10(土) 12:43:50.43ID:L+B8OP2P 足りないなら足りない部分を指摘するべき。
自分で勘違いしておいて、後から足りなかったんだっていうなよw
自分で勘違いしておいて、後から足りなかったんだっていうなよw
824デフォルトの名無しさん
2019/08/10(土) 12:46:05.58ID:x0rFB4wI 誤解されたくないならちゃんとした日本語書けや
825デフォルトの名無しさん
2019/08/10(土) 12:48:05.67ID:x0rFB4wI まあどっちでも同じことだけどなw
826デフォルトの名無しさん
2019/08/10(土) 13:00:05.30ID:6d2gRK68 お前らいつ寝てるん?
827デフォルトの名無しさん
2019/08/10(土) 13:04:34.25ID:C/8mgJdF プロのグラマーなら半球睡眠はコモンスキル
828デフォルトの名無しさん
2019/08/10(土) 13:35:44.59ID:lTTXvTcQ >>826
???「24時間働けますか?」
???「24時間働けますか?」
829デフォルトの名無しさん
2019/08/10(土) 13:37:08.94ID:lTTXvTcQ830デフォルトの名無しさん
2019/08/10(土) 13:40:51.55ID:4go3Z6Df OSXのデフォルトシェルがBash3だったはずと思ったら、最新のOSXだとZshになってるんだな
ま、LTSの古いOSとか、BSD系だとBash4じゃないのも結構あってまだ動いてると思う
ま、LTSの古いOSとか、BSD系だとBash4じゃないのも結構あってまだ動いてると思う
831デフォルトの名無しさん
2019/08/10(土) 14:00:29.15ID:8bQWJq+q 実務だとプログラミングって才能とかよりどれだけ知識を蓄えてるかの方が重要だよね?
このスレに居る猛者はどうやって強くなったんすか
このスレに居る猛者はどうやって強くなったんすか
832デフォルトの名無しさん
2019/08/10(土) 14:31:51.55ID:/e4xqllv 才能のないのはまず脱落する。
体力のないのもすぐ脱落する。
あとは下積みあるのみ。
体力のないのもすぐ脱落する。
あとは下積みあるのみ。
833デフォルトの名無しさん
2019/08/10(土) 14:39:24.77ID:lTTXvTcQ シェルスクリプトの才能ってなに?
驕り高ぶらないこと?w
↑半分本気
驕り高ぶらないこと?w
↑半分本気
834デフォルトの名無しさん
2019/08/10(土) 14:42:35.88ID:PeAU5cUa シェルスクリプトって5行以内で使うルールで使ってるけど
引数をたくさん使いたいっていう有用なケースってある?
引数をたくさん使いたいっていう有用なケースってある?
835デフォルトの名無しさん
2019/08/10(土) 16:16:23.61ID:L+B8OP2P836デフォルトの名無しさん
2019/08/10(土) 16:17:39.49ID:L+B8OP2P >>834
引数に * を使いたいときw
引数に * を使いたいときw
837デフォルトの名無しさん
2019/08/10(土) 16:22:27.62ID:L+B8OP2P838デフォルトの名無しさん
2019/08/10(土) 16:56:21.94ID:62yvq4d3 多くの環境で動くための何を作っているのかね
839デフォルトの名無しさん
2019/08/10(土) 17:00:18.98ID:lTTXvTcQ 草
840デフォルトの名無しさん
2019/08/10(土) 17:01:40.37ID:tdOS9ehT841デフォルトの名無しさん
2019/08/10(土) 17:04:52.26ID:4go3Z6Df クロスプラットフォーム必要なケースで、シェルスクリプトで作り込んだりしないよ
PerlかPythonか、Windowsも対応するならGoとか使う
PerlかPythonか、Windowsも対応するならGoとか使う
842デフォルトの名無しさん
2019/08/10(土) 17:10:57.28ID:L+B8OP2P843デフォルトの名無しさん
2019/08/10(土) 17:14:02.55ID:L+B8OP2P >>841
例えば組み込み機器でPerlやPythonも入ってない、入れられないときはどうする?
シェルスクリプトはかろうじて使える(最初から入ってるから)
Goはバイナリがでかいから、空き容量も制限されてる組み込み機器には入れたくない
今はIoT時代ですよ(笑)
例えば組み込み機器でPerlやPythonも入ってない、入れられないときはどうする?
シェルスクリプトはかろうじて使える(最初から入ってるから)
Goはバイナリがでかいから、空き容量も制限されてる組み込み機器には入れたくない
今はIoT時代ですよ(笑)
844デフォルトの名無しさん
2019/08/10(土) 17:24:27.35ID:leF4BPLu845デフォルトの名無しさん
2019/08/10(土) 17:35:44.47ID:L+B8OP2P >>844
組み込みLinux用に作られたBusyBoxっていうのがあって、
一つのバイナリに様々な外部コマンド(catとかsedとかwcとか)が詰め込まれてる。
そのBusyboxにashも組み込まれてる。
ただし様々な外部コマンドが組み込まれてるといっても、POSIX完全準拠を
目指しているわけじゃなくて、容量節約のためあまり使われないオプションを実装していない。
それでもシェル(ash)はPOSIX準拠になってる。
BSDなどでもそうなんだが外部コマンドはオプションが違うことがある。
オプションの違いでLinuxで動いたものがMacで動かなかったりするが
シェルスクリプトで実装していればそういうこともない。
組み込みLinux用に作られたBusyBoxっていうのがあって、
一つのバイナリに様々な外部コマンド(catとかsedとかwcとか)が詰め込まれてる。
そのBusyboxにashも組み込まれてる。
ただし様々な外部コマンドが組み込まれてるといっても、POSIX完全準拠を
目指しているわけじゃなくて、容量節約のためあまり使われないオプションを実装していない。
それでもシェル(ash)はPOSIX準拠になってる。
BSDなどでもそうなんだが外部コマンドはオプションが違うことがある。
オプションの違いでLinuxで動いたものがMacで動かなかったりするが
シェルスクリプトで実装していればそういうこともない。
846デフォルトの名無しさん
2019/08/10(土) 17:37:10.25ID:L+B8OP2P (Busyboxは組み込み用ではあるが、組み込みLinux用とは限らんかw)
847デフォルトの名無しさん
2019/08/10(土) 17:46:25.47ID:6d2gRK68 (´-`).。oO(IoT機器で文字列くっつけたりTSVファイルを混ぜたりしているのか…
848デフォルトの名無しさん
2019/08/10(土) 17:53:19.49ID:L+B8OP2P そりゃすることもあるだろw
IoTはモノのインターネットの略なんだから
インターネットにあるものと連携してるよ。
TSVやCSVだけじゃなくJSONやXMLやYAMLも扱いたい
(簡易なことならsedなどで対応できるが)
IoTはモノのインターネットの略なんだから
インターネットにあるものと連携してるよ。
TSVやCSVだけじゃなくJSONやXMLやYAMLも扱いたい
(簡易なことならsedなどで対応できるが)
849デフォルトの名無しさん
2019/08/10(土) 17:56:06.44ID:C/8mgJdF やっぱりどこでも動くシェルスクリプトなんて幻想なんだね…
850デフォルトの名無しさん
2019/08/10(土) 17:56:37.22ID:6d2gRK68 (´-`).。oO(心の声に反応しないで欲しい…w
851デフォルトの名無しさん
2019/08/10(土) 18:04:41.45ID:L+B8OP2P >>849
POSIX準拠でシェルスクリプトで書けば可能だって言ってんだろw
POSIX準拠でシェルスクリプトで書けば可能だって言ってんだろw
852デフォルトの名無しさん
2019/08/10(土) 18:30:59.43ID:SA5rOGgq 今現在でも世界中で書かれているシェルスクリプトの一体何%がPOSIX準拠なのか。
ま、実質幻想だね。
ま、実質幻想だね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★2 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★3 [ぐれ★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 現場からは悲鳴、母親からは「高い」「性犯罪が怖い」の声も…高市総理がどうしても実現したい政策「ベビーシッターの利用促進」 [ぐれ★]
- 【芸能】GACKT、AIに判断をゆだねる一部の人に警鐘 「マジでくだらない…」「最後の線引きぐらい自分でやれ」 [冬月記者★]
- 秋田でクマに柴犬が惨殺→犬の外飼いに批判が殺到「クマが出る地域で頑なに外で犬を飼う理由が理解できない!」高市 [357264179]
- 【悲報】ユニクロのダウンを洗った結果wwwwwwwwwwwwwwwwwwww [802034645]
- 3大opの期待感だけは凄かったアニメ「ズヴィズダー」「夜ノヤッターマン」
- 議員定数削減法案、廃案へwmwmwmmwmwmwmw [834922174]
- 【高市悲報】NHKニュース「発狂している中国に対して、日本は至って冷静」😳 [762037879]
- 【安倍の禍】円安、日本を苦しめる!国民生活だけでなく、経済界からも行き過ぎだとの声。利上げ観測も円安傾向 [219241683]
