シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ: シェルスクリプト総合 その27(https://mevius.5ch.net/test/read.cgi/unix/1525337663/)
探検
シェルスクリプト総合 その28
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/07/24(火) 11:01:16.36ID:r0TJj2hB159デフォルトの名無しさん
2018/08/17(金) 08:44:27.28ID:TmUZ5Zjz パターン文字列をsedで置換しちゃうとか(GNU sed の場合)
$ pattern='foo[1]'
$ sed "s/$(sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g' <<< "${pattern}")/foo[2]/g" <<< 'foo[1]'
foo[2]
$ pattern='foo[1]'
$ sed "s/$(sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g' <<< "${pattern}")/foo[2]/g" <<< 'foo[1]'
foo[2]
160デフォルトの名無しさん
2018/08/17(金) 08:49:02.25ID:vhwq6spf 脳みそが解読を拒否してる
161デフォルトの名無しさん
2018/08/17(金) 08:53:02.98ID:xP9ZimWn162デフォルトの名無しさん
2018/08/17(金) 08:56:35.86ID:RTbKyx/W >>158
スクリプトの実行はできましたが、 %s/〜/〜/g
だと〜に/が入っていた時に困ります。
〜には何が入るかわかりません。
あとviは標準入力から読み込めませんでした
できれば標準入力から読み込みんで標準出力に出力したいです。
ちなみにviのバージョンです
# vi -H
These features are available:
Pattern searches with / and ?
Last command repeat with .
Line marking with 'x
Named buffers with "x
Some colon mode commands with :
Settable options with ":set"
Signal catching- ^C
Job suspend and resume with ^Z
Adapt to window re-sizes
BusyBox v1.28.3 () multi-call binary.
Usage: vi [OPTIONS] [FILE]...
Edit FILE
-c CMD Initial command to run ($EXINIT also available)
-R Read-only
-H List available features
スクリプトの実行はできましたが、 %s/〜/〜/g
だと〜に/が入っていた時に困ります。
〜には何が入るかわかりません。
あとviは標準入力から読み込めませんでした
できれば標準入力から読み込みんで標準出力に出力したいです。
ちなみにviのバージョンです
# vi -H
These features are available:
Pattern searches with / and ?
Last command repeat with .
Line marking with 'x
Named buffers with "x
Some colon mode commands with :
Settable options with ":set"
Signal catching- ^C
Job suspend and resume with ^Z
Adapt to window re-sizes
BusyBox v1.28.3 () multi-call binary.
Usage: vi [OPTIONS] [FILE]...
Edit FILE
-c CMD Initial command to run ($EXINIT also available)
-R Read-only
-H List available features
163デフォルトの名無しさん
2018/08/17(金) 09:00:22.48ID:RTbKyx/W >>159
GNU sedじゃないからだめなんでしょうね
# pattern='foo[1]'
# sed "s/$(sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g' <<< "${pattern}")/foo[2]/g" <<< 'foo[1]'
-ash: syntax error: unexpected redirection
ちなみにsedの--versionと--helpです。
# sed --version
This is not GNU sed version 4.0
# sed --help
BusyBox v1.28.3 () multi-call binary.
Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-i[SFX]] [-nrE] CMD [FILE]...
-e CMD Add CMD to sed commands to be executed
-f FILE Add FILE contents to sed commands to be executed
-i[SFX] Edit files in-place (otherwise sends to stdout)
Optionally back files up, appending SFX
-n Suppress automatic printing of pattern space
-r,-E Use extended regex syntax
If no -e or -f, the first non-option argument is the sed command string.
Remaining arguments are input files (stdin if none).
GNU sedじゃないからだめなんでしょうね
# pattern='foo[1]'
# sed "s/$(sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g' <<< "${pattern}")/foo[2]/g" <<< 'foo[1]'
-ash: syntax error: unexpected redirection
ちなみにsedの--versionと--helpです。
# sed --version
This is not GNU sed version 4.0
# sed --help
BusyBox v1.28.3 () multi-call binary.
Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-i[SFX]] [-nrE] CMD [FILE]...
-e CMD Add CMD to sed commands to be executed
-f FILE Add FILE contents to sed commands to be executed
-i[SFX] Edit files in-place (otherwise sends to stdout)
Optionally back files up, appending SFX
-n Suppress automatic printing of pattern space
-r,-E Use extended regex syntax
If no -e or -f, the first non-option argument is the sed command string.
Remaining arguments are input files (stdin if none).
164デフォルトの名無しさん
2018/08/17(金) 09:16:35.01ID:RTbKyx/W165デフォルトの名無しさん
2018/08/17(金) 09:16:49.96ID:TmUZ5Zjz >>163
ああ、bash じゃなくて ash だから here string("<<<") が使えないのね…
# echo 'foo[1]' | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
こんな感じかな。
ああ、bash じゃなくて ash だから here string("<<<") が使えないのね…
# echo 'foo[1]' | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
こんな感じかな。
166デフォルトの名無しさん
2018/08/17(金) 09:33:56.45ID:xP9ZimWn167デフォルトの名無しさん
2018/08/17(金) 09:48:06.80ID:RTbKyx/W >>166
なんかプラスが入った時おかしいっすね
GNU sed
$ pattern='+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]
$ pattern='a+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]+
busybox sed
# pattern='+'
# echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
sed: bad regex '\+': Repetition not preceded by valid expression
なんかプラスが入った時おかしいっすね
GNU sed
$ pattern='+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]
$ pattern='a+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]+
busybox sed
# pattern='+'
# echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
sed: bad regex '\+': Repetition not preceded by valid expression
168デフォルトの名無しさん
2018/08/17(金) 09:57:27.72ID:TmUZ5Zjz169デフォルトの名無しさん
2018/08/17(金) 09:58:49.05ID:TmUZ5Zjz あ、ごめん勘違いしてた。ちょっと考えてみる
170デフォルトの名無しさん
2018/08/17(金) 10:03:14.53ID:RTbKyx/W そう。何が問題なのかよくわからないw
171デフォルトの名無しさん
2018/08/17(金) 10:13:01.82ID:TmUZ5Zjz あれ?でもさ、
pattern='+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]
入力が '+' でパターン文字列も '+' だから foo[2] に置換されるのは正しいんじゃないかな?
でもまぁ、GNU sed で -r オプション付けると `+` 記号がメタキャラクタになるから、付けない場合は
`+` を考慮する必要はなかったのね…
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
こっちの方が良いみたい。
pattern='+'
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*+^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
foo[2]
入力が '+' でパターン文字列も '+' だから foo[2] に置換されるのは正しいんじゃないかな?
でもまぁ、GNU sed で -r オプション付けると `+` 記号がメタキャラクタになるから、付けない場合は
`+` を考慮する必要はなかったのね…
$ echo "$pattern" | sed "s/$(echo "${pattern}" | sed -r 's/([-*^.$/\]|\[|\])/\\\1/g')/foo[2]/g"
こっちの方が良いみたい。
172デフォルトの名無しさん
2018/08/17(金) 10:13:20.76ID:5I+JCiH1173デフォルトの名無しさん
2018/08/17(金) 10:18:32.56ID:RTbKyx/W174デフォルトの名無しさん
2018/08/17(金) 10:20:29.64ID:RTbKyx/W だから要するに + はエスケープしたらダメってことなのか?
単純な文字列置換って正規表現置換よりも簡単な処理なのに
どれも面倒くさいなぁw
単純な文字列置換って正規表現置換よりも簡単な処理なのに
どれも面倒くさいなぁw
175デフォルトの名無しさん
2018/08/17(金) 10:33:33.58ID:hKcJGgnp ashの日本語manページはないのかなと思って検索した時に出てきた画面。
https://i.imgur.com/xzEhcAc.png
https://i.imgur.com/xzEhcAc.png
176デフォルトの名無しさん
2018/08/17(金) 10:37:43.83ID:RTbKyx/W177デフォルトの名無しさん
2018/08/17(金) 10:41:51.16ID:hKcJGgnp >>176
カラフルな検索結果だがこれと言って役に立たないという共通点があるな・・・
カラフルな検索結果だがこれと言って役に立たないという共通点があるな・・・
178デフォルトの名無しさん
2018/08/17(金) 10:51:57.16ID:RTbKyx/W179デフォルトの名無しさん
2018/08/17(金) 11:32:47.25ID:TmUZ5Zjz grep にある -F オプションと同等のオプションが sed にも
欲しいところではあるなぁ。生まれは同じなのに sed には無い
のは何故…(実はあったりして)
欲しいところではあるなぁ。生まれは同じなのに sed には無い
のは何故…(実はあったりして)
180デフォルトの名無しさん
2018/08/17(金) 18:50:11.51ID:D/YAmHXf fsedみたいなのを作ってる人ならしってる
181デフォルトの名無しさん
2018/08/18(土) 17:22:09.36ID:rQWtSS3z Googleのシェルスクリプトに関するコーディング規約で
「そう〔訳注: 連続したパイプ節が二つ以下〕でない場合は一行につき一つのパイプ節を含むようにする。その際,二番目以降のパイプ節は,2文字分の欧文空白による字下げを行なう。」
とあるんだが[1],ここの例示が
command1 \
| command2 \
| command3 \
| command4
となっている。
普通(といってもパイプをこのように多用しかつ改行しまくっている例はほとんど見たことがないのだが)https://github.com/ShellShoccar-jpn/kotoriotoko/blob/master/BIN/twtl.sh#L297
↑こことかでは
command1 |
command2 |
command3 |
command4
という書き方になっている。
俺はこっちの書式のほうが見慣れているので,自分のシェルスクリプトもこういう書き方でやっているのだが,みなさんはどういう書き方がいいとかあるだろうか。あるいはGoogleとは別のところが発表してるシェルスクリプトのコーディング規約とかないだろうか。
「そう〔訳注: 連続したパイプ節が二つ以下〕でない場合は一行につき一つのパイプ節を含むようにする。その際,二番目以降のパイプ節は,2文字分の欧文空白による字下げを行なう。」
とあるんだが[1],ここの例示が
command1 \
| command2 \
| command3 \
| command4
となっている。
普通(といってもパイプをこのように多用しかつ改行しまくっている例はほとんど見たことがないのだが)https://github.com/ShellShoccar-jpn/kotoriotoko/blob/master/BIN/twtl.sh#L297
↑こことかでは
command1 |
command2 |
command3 |
command4
という書き方になっている。
俺はこっちの書式のほうが見慣れているので,自分のシェルスクリプトもこういう書き方でやっているのだが,みなさんはどういう書き方がいいとかあるだろうか。あるいはGoogleとは別のところが発表してるシェルスクリプトのコーディング規約とかないだろうか。
182デフォルトの名無しさん
2018/08/18(土) 17:22:24.47ID:rQWtSS3z 一応俺の意見: 後者の利点としては,バックスラッシュが不要なこととコマンドが行頭に来て流れを掴みやすいということがある。
加えて簡易的なデバッグするときに,前者は
command1 \
| command2 \
| cat
# | command3 \
# | command4
などとするのに対して 後者は
command1 |
command2 |
cat
# command3 |
# command4
このように「新しい行を挿入してcatを入力」という単純な動作ができるので,例えばVimやEmacsなどマクロが作れるエディタなどでのデバッグ用の編集に有用というのもある。
実際俺はシェルスクリプトに関してはIDEを使わずVimで開発していて,この類のマクロを作成して便利に使っている。
長文すまん
[1]: http://google.github.io/styleguide/shell.xml#Pipelines
加えて簡易的なデバッグするときに,前者は
command1 \
| command2 \
| cat
# | command3 \
# | command4
などとするのに対して 後者は
command1 |
command2 |
cat
# command3 |
# command4
このように「新しい行を挿入してcatを入力」という単純な動作ができるので,例えばVimやEmacsなどマクロが作れるエディタなどでのデバッグ用の編集に有用というのもある。
実際俺はシェルスクリプトに関してはIDEを使わずVimで開発していて,この類のマクロを作成して便利に使っている。
長文すまん
[1]: http://google.github.io/styleguide/shell.xml#Pipelines
183デフォルトの名無しさん
2018/08/18(土) 18:05:23.17ID:5BnyFmRJ 簡易的なデバッグするときに前者は
command1 \
| command2 \
# | command3 \
# | command4
などとするのに対して 後者は
command1 |
command2 |
# command3 |
# command4
のように行頭に#をいれるだけではSyntax errorになるから前者の方がデバッグなど編集に有用とも言える
個人的には大差ないと思う
command1 \
| command2 \
# | command3 \
# | command4
などとするのに対して 後者は
command1 |
command2 |
# command3 |
# command4
のように行頭に#をいれるだけではSyntax errorになるから前者の方がデバッグなど編集に有用とも言える
個人的には大差ないと思う
184デフォルトの名無しさん
2018/08/18(土) 18:29:20.16ID:LW/iu6SG 末尾にバックスラッシュを入れることで次行を見なくても明確にコマンドが続くことがわかるから前者を支持する
185デフォルトの名無しさん
2018/08/18(土) 18:38:12.95ID:Bu4pj5O8 一長一短やな
使い分けか
使い分けか
186デフォルトの名無しさん
2018/08/18(土) 19:19:56.79ID:rQWtSS3z187デフォルトの名無しさん
2018/08/18(土) 19:21:44.26ID:rQWtSS3z ていうか少なくとも二人くらいは
後者の方式に賛同してるのか。
Googleもそっちを推奨してるし,俺も手癖を直すべきなのかな。
後者の方式に賛同してるのか。
Googleもそっちを推奨してるし,俺も手癖を直すべきなのかな。
188デフォルトの名無しさん
2018/08/18(土) 20:18:01.73ID:pAmB63kN189デフォルトの名無しさん
2018/08/18(土) 21:09:33.95ID:bNUWoVQ1 パイプ記号が重要だから頭にもってきたいかなあ
190デフォルトの名無しさん
2018/08/19(日) 00:41:34.89ID:6q4oK8R8 scsh 使え https://scsh.net/about/what.html
191デフォルトの名無しさん
2018/08/19(日) 01:23:37.19ID:A4xH6fb7 バックスラッシュで行継続(改行)って多くの言語で採用されているから
多くの人はパイプ先頭、バックスラッシュ行末じゃないかな?
多くの人はパイプ先頭、バックスラッシュ行末じゃないかな?
192デフォルトの名無しさん
2018/08/19(日) 02:52:07.69ID:YqoTvka6 俺は1行か2行くらいなら後者だな。
何行もずらずら並べるなら中括弧で囲んでパイプ記号を先頭に持ってくるかも。
行末にバックスラッシュを置いて行継続はあまり美しくないと思うのでなるべく書きたくない。
>>191
構文的に行末で文(言語によっては式)が完結できていれば行末を文の終わりとみなし
そうでなければ次の行に継続、というのもshそのものをはじめpython, JavaScriptなど多くの言語で採用されているよ。
(pythonはshと同じく行末バックスラッシュで継続もできるが)
更にRubyは行の終わりで完結できるように見えても次の行の先頭を見てどうするか決めていたりする。
何行もずらずら並べるなら中括弧で囲んでパイプ記号を先頭に持ってくるかも。
行末にバックスラッシュを置いて行継続はあまり美しくないと思うのでなるべく書きたくない。
>>191
構文的に行末で文(言語によっては式)が完結できていれば行末を文の終わりとみなし
そうでなければ次の行に継続、というのもshそのものをはじめpython, JavaScriptなど多くの言語で採用されているよ。
(pythonはshと同じく行末バックスラッシュで継続もできるが)
更にRubyは行の終わりで完結できるように見えても次の行の先頭を見てどうするか決めていたりする。
193デフォルトの名無しさん
2018/08/19(日) 04:00:58.03ID:O9LemqF2194デフォルトの名無しさん
2018/08/19(日) 16:16:41.68ID:L67BZdE+ shに限らず末尾に演算子を置く
195デフォルトの名無しさん
2018/08/19(日) 19:55:46.26ID:O9LemqF2 シェルスクリプトの話題からちょっと外れるんだけど
$ somecmd --help
としたときの手引きって標準エラー出力に出力すべき?
GNU Coreutilsでは基本的に標準出力なんだけど……。
$ somecmd --help
としたときの手引きって標準エラー出力に出力すべき?
GNU Coreutilsでは基本的に標準出力なんだけど……。
196デフォルトの名無しさん
2018/08/19(日) 20:37:51.45ID:6q4oK8R8 stderr だとページャにつなげたい時に
$ somecmd --help 2>&1 | $PAGER
とかするのが面倒。でも zsh とかだとエイリアスで
どうにかできるんだっけ?
$ somecmd --help 2>&1 | $PAGER
とかするのが面倒。でも zsh とかだとエイリアスで
どうにかできるんだっけ?
197デフォルトの名無しさん
2018/08/19(日) 22:24:00.37ID:teBDlI3J helpはエラーではないから標準出力でいいのでは
198デフォルトの名無しさん
2018/08/19(日) 23:44:45.76ID:O9LemqF2199デフォルトの名無しさん
2018/08/20(月) 00:18:14.36ID:anhi4Zz/ >>198
dクス、"|&" が使えるのは bash と zsh だけかな
dクス、"|&" が使えるのは bash と zsh だけかな
200デフォルトの名無しさん
2018/08/20(月) 00:25:54.45ID:V9a8ZDkH >>199
csh(系)も使える
csh(系)も使える
201デフォルトの名無しさん
2018/08/20(月) 01:00:54.38ID:Za3ebEAA202デフォルトの名無しさん
2018/08/20(月) 03:03:17.26ID:miyFFq/v csh由来のものをbashismというのはどうかと……
203デフォルトの名無しさん
2018/08/20(月) 03:04:00.88ID:O40ujeeV つくづく宗教戦争じみてるなこの文化は
204デフォルトの名無しさん
2018/08/20(月) 03:32:09.94ID:OmELABLW まあ>>201はそんな大層な意味で言ってるわけではないだろ。単にbashしか使ってない使い込んでるってだけの意味だろう。無知でしたという
205デフォルトの名無しさん
2018/08/20(月) 03:46:49.27ID:GIvuOFoC --helpで思い出したけど、あれって書き方ってあるの?
usageの書き方とかオプションの書き方とか
引数は大文字にするの?とか [ファイル]... とかの[] とか ... の使い方とか
あるようで、バラバラな気もしている
usageの書き方とかオプションの書き方とか
引数は大文字にするの?とか [ファイル]... とかの[] とか ... の使い方とか
あるようで、バラバラな気もしている
206デフォルトの名無しさん
2018/08/20(月) 04:15:12.27ID:Za3ebEAA >>205
とりあえず 天下のPOSIX様はこうおっしゃってる
utility_name[-a][-b][-c option_argument]
[-d|-e][-f[option_argument]][operand...]
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_01
ので 俺はそれに従ってる。だいたいのmanページやGNUユーティリティの--help出力もこれに準ずる形だと思うよ
とりあえず 天下のPOSIX様はこうおっしゃってる
utility_name[-a][-b][-c option_argument]
[-d|-e][-f[option_argument]][operand...]
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_01
ので 俺はそれに従ってる。だいたいのmanページやGNUユーティリティの--help出力もこれに準ずる形だと思うよ
207デフォルトの名無しさん
2018/08/21(火) 20:17:11.95ID:ExpCY3/V208デフォルトの名無しさん
2018/08/23(木) 05:30:33.48ID:L+hDtmKU シェルスクリプトの言語にJavaScriptってアリだと思う?
#! /usr/local/bin/js24
みたいなシェバンでさ。
#! /usr/local/bin/js24
みたいなシェバンでさ。
209デフォルトの名無しさん
2018/08/23(木) 05:39:54.64ID:ncZgpeak シェルスクリプトっていうのは
シェルとして実用に堪えるものじゃないとダメ
名前の通り
コマンドを呼び出すのに、いちいちsystem関数を
使うとかいうのは、シェルとして使えない
ls だけでlsコマンドを実行できるようにしたら
シェルスクリプトと認めてもいいが
シェルとして実用に堪えるものじゃないとダメ
名前の通り
コマンドを呼び出すのに、いちいちsystem関数を
使うとかいうのは、シェルとして使えない
ls だけでlsコマンドを実行できるようにしたら
シェルスクリプトと認めてもいいが
210デフォルトの名無しさん
2018/08/23(木) 07:32:38.64ID:d2Ifs7B7 >>208
ナシだと思う
ナシだと思う
211デフォルトの名無しさん
2018/08/23(木) 07:38:44.84ID:1n1CeI2l シェルスクリプトというより、他のインタプリタ言語と同じようにコマンド(内容)記述用としてあっていいって話だろう
212デフォルトの名無しさん
2018/08/23(木) 08:56:23.64ID:AY9SoYfw 普通にやるだろ。
#!/usr/bin/awk -f
とかだってたまにはやるぞ。
「#」がコメント扱いになる言語なら
気にせずどんどんやればいい。
そもそもshebangはUNIX上で「スクリプト言語」を呼び出す時の記法であって
現代UNIXではシェルは一切関与しないカーネルの機能だから
「シェルスクリプト」なんかじゃない。
(つまり実はスレ違い)
なお昔のSystem-V系UNIXにはカーネルにこの機能がなくexec(2)が失敗するので、
その場合にはシェルが代行してスクリプトのインタープリターをよびだしていた。
そういうUNIXはほぼ滅びたけどシェル側にはまだこの代行機能が残っていたりする。
シェルは関与しないのにshell-bangなんて変な名前だけど、
この言い方自体比較的新しくて、実装されてからだいぶ長い間名前がなかったんだよ。
普通はカーネルが処理しててシェルは関係ないってことを
知らない奴がつけた名前じゃないかと前から疑問に思ってる。
#!/usr/bin/awk -f
とかだってたまにはやるぞ。
「#」がコメント扱いになる言語なら
気にせずどんどんやればいい。
そもそもshebangはUNIX上で「スクリプト言語」を呼び出す時の記法であって
現代UNIXではシェルは一切関与しないカーネルの機能だから
「シェルスクリプト」なんかじゃない。
(つまり実はスレ違い)
なお昔のSystem-V系UNIXにはカーネルにこの機能がなくexec(2)が失敗するので、
その場合にはシェルが代行してスクリプトのインタープリターをよびだしていた。
そういうUNIXはほぼ滅びたけどシェル側にはまだこの代行機能が残っていたりする。
シェルは関与しないのにshell-bangなんて変な名前だけど、
この言い方自体比較的新しくて、実装されてからだいぶ長い間名前がなかったんだよ。
普通はカーネルが処理しててシェルは関係ないってことを
知らない奴がつけた名前じゃないかと前から疑問に思ってる。
213デフォルトの名無しさん
2018/08/23(木) 09:39:55.05ID:ncZgpeak214デフォルトの名無しさん
2018/08/23(木) 09:45:44.18ID:ncZgpeak > シェルは関与しないのにshell-bangなんて変な名前だけど、
shebang を shell-bangの略だと主張する人は少数派だよ
shebang を shell-bangの略だと主張する人は少数派だよ
215デフォルトの名無しさん
2018/08/23(木) 12:56:18.33ID:/qY100we216デフォルトの名無しさん
2018/08/23(木) 12:59:05.57ID:XdhcXIaw スクリプトスクリプトはもにょる
217デフォルトの名無しさん
2018/08/23(木) 13:18:49.52ID:cYcyOMDR スクリプト
スクリプトスクリプト
スクリプトスクリプトスクリプト
スクリプトスクリプトスクリプトスクリプト 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
スクリプトスクリプト
スクリプトスクリプトスクリプト
スクリプトスクリプトスクリプトスクリプト 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
218デフォルトの名無しさん
2018/08/23(木) 14:49:29.73ID:AY9SoYfw219デフォルトの名無しさん
2018/08/23(木) 14:59:38.25ID:AY9SoYfw >>214
shebang の e って何から来てるの?
俺は shell から来てるんだと思ってた。
なお shabang という書き方も少数派だが使われてはいるみたい。
実際 sharp-bang なわけで、こっちなら分かる。
shabang ならシバンじゃなくて、シャバンだよな。
シャバ〜ン。
shebang の e って何から来てるの?
俺は shell から来てるんだと思ってた。
なお shabang という書き方も少数派だが使われてはいるみたい。
実際 sharp-bang なわけで、こっちなら分かる。
shabang ならシバンじゃなくて、シャバンだよな。
シャバ〜ン。
220デフォルトの名無しさん
2018/08/23(木) 15:01:24.58ID:2Dv2zxdP 男なんだろ?
221デフォルトの名無しさん
2018/08/23(木) 15:09:53.60ID:Jv3FRRxD 違うよ〜☆
222デフォルトの名無しさん
2018/08/23(木) 15:11:13.70ID:e+w5jH4y 若さ、若さってなんだ
223デフォルトの名無しさん
2018/08/23(木) 15:13:13.81ID:eJiCstIz なんというか、ヒーローの名前のようだ。
224デフォルトの名無しさん
2018/08/23(木) 15:42:31.50ID:bMgbpjF3 それはギャバン
225デフォルトの名無しさん
2018/08/23(木) 16:36:01.71ID:YQoAQycd さぁ、盛り上がって参りました
226デフォルトの名無しさん
2018/08/23(木) 16:45:35.96ID:ssILkLQJ 宇宙刑事シャバン
227デフォルトの名無しさん
2018/08/23(木) 16:48:23.72ID:e+w5jH4y ギャバン
シャバン
シャリバン
シャバン
シャリバン
228デフォルトの名無しさん
2018/08/23(木) 17:03:22.02ID:ncZgpeak 癒着!
229デフォルトの名無しさん
2018/08/23(木) 18:14:50.72ID:AY9SoYfw なんつーかオッサンばっかだな。
まあ俺もそういう反応を期待してたわけだがw
まあ俺もそういう反応を期待してたわけだがw
230デフォルトの名無しさん
2018/08/23(木) 18:43:16.20ID:1n1CeI2l >>219
#! -> sharp-bang -> shabang -> 単語ならshellだしすでにあるとても似たshebangでいいんじゃね、shebangの意味自体が似合ってるし
とか。shebangというれっきとした単語の由来は別にある
#! -> sharp-bang -> shabang -> 単語ならshellだしすでにあるとても似たshebangでいいんじゃね、shebangの意味自体が似合ってるし
とか。shebangというれっきとした単語の由来は別にある
231デフォルトの名無しさん
2018/08/24(金) 01:02:04.55ID:TjDOkMEc 元ネタ分かんねーと思ったらおっさんどころかジジイじゃねーか
232デフォルトの名無しさん
2018/08/24(金) 07:46:54.31ID:mVdVBkdF マジで検索しても元ネタわからんw
平均年齢どのくらいだこのスレは
平均年齢どのくらいだこのスレは
233デフォルトの名無しさん
2018/08/24(金) 08:04:01.22ID:lit/+L8O 機動刑事シバン
234219
2018/08/24(金) 08:55:32.25ID:57yPHNQD235デフォルトの名無しさん
2018/08/24(金) 09:13:07.93ID:LbFHGrVQ236219
2018/08/24(金) 09:35:23.98ID:57yPHNQD237デフォルトの名無しさん
2018/08/24(金) 10:43:03.55ID:wXpFbMeR238デフォルトの名無しさん
2018/08/24(金) 10:59:15.82ID:4te4jIm4 蒸着の元ネタってギャバンだったのか…
DeadSpaceのアーマー更新シーンを蒸着言うやついたけど元ネタあったんだな
DeadSpaceのアーマー更新シーンを蒸着言うやついたけど元ネタあったんだな
239デフォルトの名無しさん
2018/08/24(金) 15:39:45.35ID:mVdVBkdF240デフォルトの名無しさん
2018/08/24(金) 16:02:03.60ID:wXpFbMeR >>239
ようこそ。おっさんの世界へ
ようこそ。おっさんの世界へ
241デフォルトの名無しさん
2018/08/24(金) 19:44:16.61ID:Gfkbj1yB バッチファイルやパワーシェルもシェルスクリプトですか?
何言語っていうんでしょうか?
何言語っていうんでしょうか?
242デフォルトの名無しさん
2018/08/24(金) 19:45:54.13ID:wXpFbMeR >>241
どうでもいいことを気にするな
どうでもいいことを気にするな
243デフォルトの名無しさん
2018/08/24(金) 19:54:12.80ID:Gfkbj1yB 静かに
244デフォルトの名無しさん
2018/08/24(金) 20:30:04.55ID:ap1IsA9z 確かに
だと思ったら
静かに
でなんか笑った
だと思ったら
静かに
でなんか笑った
245デフォルトの名無しさん
2018/08/24(金) 22:34:41.93ID:UXXFLepR246デフォルトの名無しさん
2018/08/25(土) 06:14:56.78ID:TgLfCzAb バッチファイルをシェルスクリプトに入れない理由はないと思うけど?
247デフォルトの名無しさん
2018/08/25(土) 12:12:23.81ID:r5O9PJUC スクリプトに入れるのはありだけどシェルスクリプトって言う奴は少ないと思う
248デフォルトの名無しさん
2018/08/25(土) 12:16:23.36ID:zrQnMjpj ちゃんとした定義は知らんが、
シェルスクリプト=.sh
バッチファイル=.bat
と大抵は認識してそうな印象
シェルスクリプト=.sh
バッチファイル=.bat
と大抵は認識してそうな印象
249デフォルトの名無しさん
2018/08/25(土) 13:58:20.34ID:R/mHQH6/ Wikipedia に書いてあることでだいたいいいのではいか?
スクリプト言語
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E
スクリプト言語
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E
250デフォルトの名無しさん
2018/08/25(土) 14:43:10.95ID:0Hfq0tYW シェル スクリプトと言えばだから違うくね。バッチファイルをシェルスクリプト(ファイル)と実際に呼んでるヤツを見たことはないな
command.com自体が原始的でシェルのように打ち込んでってってのも見ない。あれはやっぱりバッチファイルを作るためのでしかないってうすうすわかっているからじゃねとか
command.com自体が原始的でシェルのように打ち込んでってってのも見ない。あれはやっぱりバッチファイルを作るためのでしかないってうすうすわかっているからじゃねとか
251デフォルトの名無しさん
2018/08/25(土) 14:47:50.16ID:TgLfCzAb >>250
最初から結果ありきで書くなよ。単にお前がバッチファイルをシェルスクリプトに入れないためのこじつけを
お前が考えてるだけじゃねーか
wikipediaにも書いてあるし
> スクリプト言語の一種は、ジョブ制御の自動化から生み出されたもので、システムプログラムの起動と制御を行う。
> そういう意味ではシェルの祖先としてIBMの Job Control Language(JCL、ジョブ制御言語)があるとも言える。
> この種の言語の処理系(インタプリタ)の多くは、UNIXのシェルやMS-DOSのCOMMAND.COMといった
> コマンドラインインタプリタと呼ばれるものである。
最初から結果ありきで書くなよ。単にお前がバッチファイルをシェルスクリプトに入れないためのこじつけを
お前が考えてるだけじゃねーか
wikipediaにも書いてあるし
> スクリプト言語の一種は、ジョブ制御の自動化から生み出されたもので、システムプログラムの起動と制御を行う。
> そういう意味ではシェルの祖先としてIBMの Job Control Language(JCL、ジョブ制御言語)があるとも言える。
> この種の言語の処理系(インタプリタ)の多くは、UNIXのシェルやMS-DOSのCOMMAND.COMといった
> コマンドラインインタプリタと呼ばれるものである。
252デフォルトの名無しさん
2018/08/25(土) 14:48:52.43ID:TgLfCzAb https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88
> シェルスクリプト用インタプリタの多くはコマンドラインインタフェースも兼ねており、各種Unixシェル、
> Windows PowerShell、MS-DOSのCOMMAND.COMなどがある。
> シェルスクリプト用インタプリタの多くはコマンドラインインタフェースも兼ねており、各種Unixシェル、
> Windows PowerShell、MS-DOSのCOMMAND.COMなどがある。
253デフォルトの名無しさん
2018/08/25(土) 14:51:47.98ID:0Hfq0tYW >>251
「実際」にだよ。お前の周りでバッチファイルをシェルスクリプトと呼んでいるヤツいるの?
呼んでもいないのになぜそんなとこに拘る。バッチファイルはバッチファイル、Unix系のはシェルスクリプトはシェルスクリプトでええやん
逆にシェルスクリプトで書かれたはファイルをバッチファイルとなぜ呼ばないまでこだわれよ、だったらw
「実際」にだよ。お前の周りでバッチファイルをシェルスクリプトと呼んでいるヤツいるの?
呼んでもいないのになぜそんなとこに拘る。バッチファイルはバッチファイル、Unix系のはシェルスクリプトはシェルスクリプトでええやん
逆にシェルスクリプトで書かれたはファイルをバッチファイルとなぜ呼ばないまでこだわれよ、だったらw
254デフォルトの名無しさん
2018/08/25(土) 14:58:00.88ID:TgLfCzAb >>253
はい、いますー。論破w
はい、いますー。論破w
255デフォルトの名無しさん
2018/08/25(土) 15:01:01.94ID:0Hfq0tYW いるんだww
256デフォルトの名無しさん
2018/08/25(土) 15:31:37.30ID:4b56uGjx いるのか…
257デフォルトの名無しさん
2018/08/25(土) 16:39:23.62ID:CiVrtAH/258デフォルトの名無しさん
2018/08/25(土) 17:13:00.55ID:aJ7Wjpaw バッチファイル=バッチスクリプトであってる?
バッチファイル=シェルスクリプトはまちがえ?
バッチファイル=シェルスクリプトはまちがえ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 渡邊渚「性を売ってるくせに」批判に反論 幻滅「これが日本の現状だよなー」「『渾身の下着!』というような意味でやってない」★3 [Ailuropoda melanoleuca★]
- 【鮭】20代女性の車のドアノブに体液、不同意わいせつ未遂の容疑で広島市安佐北区の30歳無職男を逮捕 [nita★]
- 【生成ポルノで初】AI生成の児童ポルノ画像の所持疑いで元教諭を初摘発… [BFU★]
- 鈴木農相、地元JAから借入金 おこめ券巡り利害誘導との批判も★2 [安倍聖帝★]
- トランプ米大統領、「台湾保証実行法案」に署名 法案提出議員「支配しようとする中国に我々が断固として立ち向かう」 ★3 [お断り★]
- 【格闘技】朝倉未来「てめえ、今からやってやろうか?」 前代未聞のブチギレ! 関東最大級ギャングの元ボスと一触即発 [冬月記者★]
- 沖縄の在日米軍パトロール、街の治安を乱す輩を一年間で100人逮捕していた [329329848]
- ネトウヨ「外国人は日本の伝統とマナーを守れ!」こいつらが和服を着ないで洋服を着続ける理由とは。スーツなんてイギリスの民族衣装 [472617201]
- フリーレンってなんで旅してるんだっけ
- 【高市悲報】プリキュア「いま私たちは環境問題に関心があるの」 プリオタ「ギェェェェェ思想が強すぎる!!」大炎上🔥 [762037879]
- 女国会議員「夫がサンドイッチ用に6枚切りの食パンを買ってきました…」 ツイ民「6枚切りでもレシピあるよ」 女国会議員(スゥ…) [279254606]
- 【01:45NHK~】サッカーW杯2026グルーブ分け組み合わせ抽選会いよいよスタート! ★2 [339712612]
