シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
探検
シェルスクリプト総合 その36
■ このスレッドは過去ログ倉庫に格納されています
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
471デフォルトの名無しさん
2021/04/15(木) 19:33:19.08ID:hKlH1+Q2472デフォルトの名無しさん
2021/04/17(土) 05:11:50.36ID:YdwasajV >>446
URL=$( echo '/swenybb/ten.hc5.enildaeh//:sptth' | rev )
TMP_DIR=~/tmp/5ch; DOC=${TMP_DIR}/index.php; mkdir -p ${TMP_DIR}
wget --output-document=${DOC} ${URL} || exit 1
iconv -c -f Shift_JIS -t utf-8 ${DOC} \
| grep '2021' | awk -F '</a> <br>' '{print $1}' \
| awk -F '</font>]' '{print $2}' > "~/Documents/5ch_dv.txt"
i=1; while true; do
cut --bytes=1-210 "~/Documents/5ch_dv.txt" | shuf -n 2; sleep 10; done
URL=$( echo '/swenybb/ten.hc5.enildaeh//:sptth' | rev )
TMP_DIR=~/tmp/5ch; DOC=${TMP_DIR}/index.php; mkdir -p ${TMP_DIR}
wget --output-document=${DOC} ${URL} || exit 1
iconv -c -f Shift_JIS -t utf-8 ${DOC} \
| grep '2021' | awk -F '</a> <br>' '{print $1}' \
| awk -F '</font>]' '{print $2}' > "~/Documents/5ch_dv.txt"
i=1; while true; do
cut --bytes=1-210 "~/Documents/5ch_dv.txt" | shuf -n 2; sleep 10; done
473デフォルトの名無しさん
2021/04/17(土) 19:55:09.09ID:woV5WRvk URL=$( echo 'fdr.wkwen/ssr/pj.en.oog.hcraes//:sptth' | rev )
TMP_DIR=~/tmp/goo; DOC=${TMP_DIR}/index.php; mkdir -p ${TMP_DIR}
wget --output-document=${DOC} ${URL} || exit 1
iconv -c -f utf-8 -t utf-8 ${DOC} | grep -v 'gooウェブ検索 急上昇ワード' \
| grep 'title' | awk -F '<title>' '{print $2}' \
| awk -F '</title>' '{print $1}' >> "$HOME/Documents/goo_web.txt"
while read KEYWORD; do
URL=$( echo '=yreuq_hcraes?stluser/moc.ebutuoy.www//:sptth' | rev )""$KEYWORD""
firefox "$URL"; sleep $( shuf -i 10-21 -n 1 )
done < "$HOME/Documents/goo_web.txt"
TMP_DIR=~/tmp/goo; DOC=${TMP_DIR}/index.php; mkdir -p ${TMP_DIR}
wget --output-document=${DOC} ${URL} || exit 1
iconv -c -f utf-8 -t utf-8 ${DOC} | grep -v 'gooウェブ検索 急上昇ワード' \
| grep 'title' | awk -F '<title>' '{print $2}' \
| awk -F '</title>' '{print $1}' >> "$HOME/Documents/goo_web.txt"
while read KEYWORD; do
URL=$( echo '=yreuq_hcraes?stluser/moc.ebutuoy.www//:sptth' | rev )""$KEYWORD""
firefox "$URL"; sleep $( shuf -i 10-21 -n 1 )
done < "$HOME/Documents/goo_web.txt"
474デフォルトの名無しさん
2021/04/17(土) 19:55:27.64ID:HVVFTxep きたねーコードであらすな
475terai
2021/04/27(火) 17:28:08.57ID:K85aNu+Y Linux(CentOS7)からsshで192.168.1.50(windows)に接続して、grepでD:\samba-backup\tmpの中を探して、
"bk-日付.tar"という名前のファイルがあれば"backup = O"、なければ"backup = O"と表示されるようにしたいと思い以下のようにシェルスクリプトを書きました。
if expect -c "
set timeout 5
spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\\samba-backup\\tmp
expect \"password\"
send \"パスワード\n\"
expect eof
exit
"|grep "bk-$(日付).tar"
then echo "backup = O"
else echo "backup = X"
fi
実行すると"backup = O"と表示されると思ったのですが、"backup = X"と表示されます。tmpフォルダには"bk-日付.tar"という名前のファイルが確かに置いてあります。どうすれば"backup = O"と表示されるようになるのか教えてください。よろしくお願いいたします。
"bk-日付.tar"という名前のファイルがあれば"backup = O"、なければ"backup = O"と表示されるようにしたいと思い以下のようにシェルスクリプトを書きました。
if expect -c "
set timeout 5
spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\\samba-backup\\tmp
expect \"password\"
send \"パスワード\n\"
expect eof
exit
"|grep "bk-$(日付).tar"
then echo "backup = O"
else echo "backup = X"
fi
実行すると"backup = O"と表示されると思ったのですが、"backup = X"と表示されます。tmpフォルダには"bk-日付.tar"という名前のファイルが確かに置いてあります。どうすれば"backup = O"と表示されるようになるのか教えてください。よろしくお願いいたします。
476デフォルトの名無しさん
2021/04/27(火) 21:13:37.71ID:veDN2Ote 複雑な問題は複数のより単純な問題に分割すればいいんじゃないかな
まずは expect だけ実行して何が出力されるかみるところから始めなよ
まずは expect だけ実行して何が出力されるかみるところから始めなよ
477デフォルトの名無しさん
2021/04/27(火) 22:41:50.05ID:1A6wmpHM batの問題じゃないの
478デフォルトの名無しさん
2021/04/28(水) 06:11:06.05ID:M5uDUSOh "|grep "bk-$(日付).tar"
tmpフォルダには、"bk-日付.tar"という名前のファイルが確かに置いてあります
この「日付」って、日本語を使っているの?
基本的に、半角英数字・ascii 以外は、動かないのでは?
日本語には、CP932・UTF-8/16/32 の4つのエンコードがあって、
各OS・ファイルシステム・端末の入出力によって異なるから
tmpフォルダには、"bk-日付.tar"という名前のファイルが確かに置いてあります
この「日付」って、日本語を使っているの?
基本的に、半角英数字・ascii 以外は、動かないのでは?
日本語には、CP932・UTF-8/16/32 の4つのエンコードがあって、
各OS・ファイルシステム・端末の入出力によって異なるから
479デフォルトの名無しさん
2021/04/28(水) 06:38:05.23ID:xybfukyI 中途半端の知識。自分が詳しいつもりになってそう。
素人同然だから1から勉強してね
素人同然だから1から勉強してね
480478
2021/04/28(水) 06:50:30.51ID:M5uDUSOh そもそも、Linux から、cmd とか、Windows のコマンドを呼べるの?
Remote Login してるの?
PuTTY, TeraTerm, VSCode のRemote SSH などを使えば?
Remote Login してるの?
PuTTY, TeraTerm, VSCode のRemote SSH などを使えば?
481デフォルトの名無しさん
2021/04/28(水) 07:31:16.23ID:QZeYlOuK482terai
2021/04/28(水) 10:22:09.08ID:D1qJru6v spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\\samba-backup\\tmp
のところを
spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\\\\samba-backup\\\\tmp
にしたらうまくいきました。ご迷惑をおかけしました。
のところを
spawn ssh administrator@192.168.1.50 cmd /c dir /b d:\\\\samba-backup\\\\tmp
にしたらうまくいきました。ご迷惑をおかけしました。
483478
2021/04/28(水) 10:55:25.45ID:M5uDUSOh 例えば、Windows 10, WSL2, Ubuntu 18.04, Ruby では、
Linux 側から、Windows側のC ドライブへアクセスできる
パス区切りも、/ を使える。
\ では、各端末でのエスケープを考慮しなければならないので、非常に難しい
Dir.glob( '/mnt/c/Users/Owner/Documents/test/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する
p full_path
end
Linux 側から、Windows側のC ドライブへアクセスできる
パス区切りも、/ を使える。
\ では、各端末でのエスケープを考慮しなければならないので、非常に難しい
Dir.glob( '/mnt/c/Users/Owner/Documents/test/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する
p full_path
end
484デフォルトの名無しさん
2021/04/28(水) 11:50:29.51ID:Ttx7vHwT sshを使うなら、ええかげんにexpectなんかせんでもええようにしたほうがええんちゃう?
鍵ファイルを使えば。
鍵ファイルを使えば。
485478
2021/04/28(水) 12:15:20.00ID:M5uDUSOh Ruby にも、expect モジュールがある
486デフォルトの名無しさん
2021/04/28(水) 12:59:54.72ID:bPhU0BTO487デフォルトの名無しさん
2021/04/28(水) 16:16:23.22ID:mi6bhbk3 だよな
488デフォルトの名無しさん
2021/04/28(水) 18:13:04.67ID:xybfukyI ファイルの中に書いたマーカーの中に別のファイルを挿入するにはどうしたらいい?
例えばこんな感じのファイルがあったとして、<marker>〜</marker>の中身を
別のファイルに入れ替えたい。posixコマンドだけで
aaa
bbb
<marker>
ccc
ddd
</marker>
eee
fff
例えばこんな感じのファイルがあったとして、<marker>〜</marker>の中身を
別のファイルに入れ替えたい。posixコマンドだけで
aaa
bbb
<marker>
ccc
ddd
</marker>
eee
fff
489デフォルトの名無しさん
2021/04/28(水) 18:34:58.14ID:a9uMhLuq awkだけでなんとでも書けそう
490デフォルトの名無しさん
2021/04/28(水) 18:39:28.46ID:goIH39T4 だよな
釣りか?
釣りか?
491デフォルトの名無しさん
2021/04/28(水) 18:46:45.34ID:xybfukyI C言語でもどんな言語でも書けるというだけのことなら
私も知ってますが・・・
私も知ってますが・・・
492デフォルトの名無しさん
2021/04/28(水) 18:50:26.24ID:snsrMSzN csplit
cat head anotherfile rest
cat head anotherfile rest
493デフォルトの名無しさん
2021/04/28(水) 18:55:44.80ID:snsrMSzN ただ行単位で分割なので適当にタグ前後に改行挿入などよしなに
494デフォルトの名無しさん
2021/04/28(水) 19:02:11.38ID:snsrMSzN csplitで2回割って3つに、真ん中を捨てcatを想定したが、regexで割れるので<marker>...</marker>を指定して一回で割った方が素直かもしらん
ファイル内に複数回マークアップが現れる時も、マークアップ+1個に割れるのでスケーラブル
ファイル内に複数回マークアップが現れる時も、マークアップ+1個に割れるのでスケーラブル
495デフォルトの名無しさん
2021/04/28(水) 19:11:21.62ID:xybfukyI ファイルに複数回現れるのは想定してませんでしたが
その場合は全部置き換えたいです
中間ファイルを作るのは一時的であっても
想定してないファイルができるので避けたいです
その場合は全部置き換えたいです
中間ファイルを作るのは一時的であっても
想定してないファイルができるので避けたいです
496デフォルトの名無しさん
2021/04/28(水) 19:14:50.05ID:mi6bhbk3497デフォルトの名無しさん
2021/04/28(水) 19:19:23.15ID:snsrMSzN じゃあsedとかでいいんじゃね、行志向だとフラグ立てる必要があるので面倒だから、一時的にtrで改行を変な文字に置換して一行扱いすると楽
複数回マークアップするなら、非貪欲マッチの為に終わりマーカーを^指定するのを忘れないでね、念の為
複数回マークアップするなら、非貪欲マッチの為に終わりマーカーを^指定するのを忘れないでね、念の為
498デフォルトの名無しさん
2021/04/28(水) 19:22:31.94ID:snsrMSzN >>496
素直な質問者かと思ったらこんなレスしてんのなあ…
素直な質問者かと思ったらこんなレスしてんのなあ…
499デフォルトの名無しさん
2021/04/30(金) 02:47:41.34ID:UkwhHCBd >>497
オプション--null-dataをつけたらええやん?
オプション--null-dataをつけたらええやん?
500デフォルトの名無しさん
2021/05/01(土) 16:16:25.77ID:R5WysE71 今日の発見
何気なく LANG=C の状態で man ping をやったら日本語マニュアルでは出て来なかった -a を発見。
しかし、 "Audible ping. " ってなんだろうと思い、 -a を付けて ping をやってみるが -a なしと違いはない。
何だろうと散々悩んでまさか本当に音が出るのではと思い、ヘッドホンを指して聞いてみたら BEEP 音が出ていた。
(端末に Ctrl+G の出力しているだけの模様)。
これは普通の状態で音が出るようになってないと使えない(というか分からない)機能だな。
ていうか、この機能って需要あるのか? どういう時に使うんだ? (耳は聞こえるけど目が見えない人向け?)
何気なく LANG=C の状態で man ping をやったら日本語マニュアルでは出て来なかった -a を発見。
しかし、 "Audible ping. " ってなんだろうと思い、 -a を付けて ping をやってみるが -a なしと違いはない。
何だろうと散々悩んでまさか本当に音が出るのではと思い、ヘッドホンを指して聞いてみたら BEEP 音が出ていた。
(端末に Ctrl+G の出力しているだけの模様)。
これは普通の状態で音が出るようになってないと使えない(というか分からない)機能だな。
ていうか、この機能って需要あるのか? どういう時に使うんだ? (耳は聞こえるけど目が見えない人向け?)
501デフォルトの名無しさん
2021/05/01(土) 16:29:28.92ID:djtwQ/hU システム言語英語にしてるから気づかなかった
502デフォルトの名無しさん
2021/05/01(土) 16:33:54.50ID:8vBq+4lu 目が見えないなら読み上げとか使うだろうし
ただのユーモアのような気がする
ただのユーモアのような気がする
503デフォルトの名無しさん
2021/05/01(土) 17:12:17.40ID:/E4OYG0J >>500
https://lab.kuas.ac.jp/~ippei94da/unixtodaystips/index.html#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%B0%8E%E9%80%9A%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF
まあ、本気でやるならスクリプトを書くところやけど、ちょろっと待ったり確認したりするだけなら?
https://lab.kuas.ac.jp/~ippei94da/unixtodaystips/index.html#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%B0%8E%E9%80%9A%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF
まあ、本気でやるならスクリプトを書くところやけど、ちょろっと待ったり確認したりするだけなら?
504デフォルトの名無しさん
2021/05/01(土) 17:24:56.48ID:qPtffzbe まあBEEPだと鳴るにしても、あんまり便利じゃないから、bellってスクリプトつくって、mpg123で小さなサウンドファイル鳴らしてたなーw
時間のかかる処理動かすときに、;bellとかやってたわw
時間のかかる処理動かすときに、;bellとかやってたわw
505デフォルトの名無しさん
2021/05/01(土) 20:54:25.86ID:mMPVMQKF >>500
日本語マニュアルは古いからな
Ubuntu 20.04のbashのマニュアルなんか
英語版は当然bashのバージョンと同じ5.0(2018年)のマニュアルが入ってるが
日本語版だと4.2(2010年)のやつだからな
あとpingに音がなる機能は便利だぞ
pingで音を鳴らしながら断線チェックするんだよ
断線しかかってるケーブルがあれば触った時に音がなったり止まったりするだろ
一人がディスプレイの前にいて「あ!そのケーブル触ったときに繋がりました!」
なんて叫ぶ必要がなくなるから、一人でも作業できる
日本語マニュアルは古いからな
Ubuntu 20.04のbashのマニュアルなんか
英語版は当然bashのバージョンと同じ5.0(2018年)のマニュアルが入ってるが
日本語版だと4.2(2010年)のやつだからな
あとpingに音がなる機能は便利だぞ
pingで音を鳴らしながら断線チェックするんだよ
断線しかかってるケーブルがあれば触った時に音がなったり止まったりするだろ
一人がディスプレイの前にいて「あ!そのケーブル触ったときに繋がりました!」
なんて叫ぶ必要がなくなるから、一人でも作業できる
506デフォルトの名無しさん
2021/05/01(土) 21:24:12.83ID:j1QPmhQJ507デフォルトの名無しさん
2021/05/01(土) 21:43:09.83ID:j1QPmhQJ508デフォルトの名無しさん
2021/05/01(土) 22:42:41.06ID:mMPVMQKF 軍人は卓球が好きだったんか?
509デフォルトの名無しさん
2021/05/01(土) 22:53:01.56ID:/E4OYG0J510デフォルトの名無しさん
2021/05/01(土) 22:56:49.66ID:oDxNWiQE 軍関係者、それも技術者研究者ならそんなナワバリとか無いんじゃね
陸軍でも海軍のそういうのは知ってはいるだろう一般知識的な
事故死で亡くなってるのね。世界的貢献度が高いし有名だから残してもいるのかな
陸軍でも海軍のそういうのは知ってはいるだろう一般知識的な
事故死で亡くなってるのね。世界的貢献度が高いし有名だから残してもいるのかな
511デフォルトの名無しさん
2021/05/01(土) 22:59:35.67ID:oDxNWiQE512デフォルトの名無しさん
2021/05/02(日) 00:08:11.78ID:r2Ed4Ypi513デフォルトの名無しさん
2021/05/02(日) 00:20:14.06ID:AuvpVVY/514デフォルトの名無しさん
2021/05/02(日) 01:01:49.26ID:AuvpVVY/ BSD系のpingは応答があるとき鳴るのとないとき鳴るのと2つオプションがある。
515デフォルトの名無しさん
2021/05/09(日) 03:33:23.42ID:DzKdtz/a ほんとこの人酷いわ。関わりたくないからここで書くけど
バカにされてる事にも気づかないでしゃしゃり出てきてこのセリフ
https://twitter.com/col_richie/status/1390912236181364737
> 何を隠そう私こそPOSIX原理主義者。
>
> 「藪医者」の語源(の一説)が面白いので紹介しておきたい。
>
> 藪医者とは、高価な薬が買えずに藪から薬草に使えそうな草を見繕って患者に与えていた医者のことだという。
>
> つまり適当にライブラリーを拾って解決を図るプログラマーは藪医者同然ということになる。
じゃあ藪医者ではない凄腕の医者は自分で薬を作ってるのか?
お前だって自分で作らずにPOSIXコマンドを使って解決してるだけだろ
他人の成果を利用してるだけのくせに自分で何も作らずに主義だけでマウント取ろうとするな
藪医者の語源を自分の主義を正当化するために曲解して利用するな
まさにPOSIX"原理"主義者だと思うわ
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%AA%E3%82%B9%E3%83%88%E6%95%99%E5%8E%9F%E7%90%86%E4%B8%BB%E7%BE%A9
> キリスト教原理主義(キリストきょうげんりしゅぎ、英語: Christian fundamentalism)とは、
> 特にアメリカ合衆国で聖書の教えを硬直的、新興宗教的に歪曲するキリスト教右派、キリスト教根本主義、
> キリスト教会とその教派に向けて使用される。非難、侮蔑の意味合いを持って使用される場合も多い。
https://twitter.com/takapon_jp/status/9068335656
> 原理主義者はやはりイスラム原理主義者も捕鯨反対原理主義者も
> 正義原理主義者の検察もみんな頑固だから、
> 色んな曲解をしながら原理主義の姿勢を崩さない。
> だからこその原理主義者なんだろうが。。。というわけでもう、寝る。
お前が言う交換可能性とかPOSIXでは一切言われていない
POSIXの教えとは無関係なのにPOSIX原理主義者
POSIXという言葉と成果を利用してるだけ
https://twitter.com/5chan_nel (5ch newer account)
バカにされてる事にも気づかないでしゃしゃり出てきてこのセリフ
https://twitter.com/col_richie/status/1390912236181364737
> 何を隠そう私こそPOSIX原理主義者。
>
> 「藪医者」の語源(の一説)が面白いので紹介しておきたい。
>
> 藪医者とは、高価な薬が買えずに藪から薬草に使えそうな草を見繕って患者に与えていた医者のことだという。
>
> つまり適当にライブラリーを拾って解決を図るプログラマーは藪医者同然ということになる。
じゃあ藪医者ではない凄腕の医者は自分で薬を作ってるのか?
お前だって自分で作らずにPOSIXコマンドを使って解決してるだけだろ
他人の成果を利用してるだけのくせに自分で何も作らずに主義だけでマウント取ろうとするな
藪医者の語源を自分の主義を正当化するために曲解して利用するな
まさにPOSIX"原理"主義者だと思うわ
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%AA%E3%82%B9%E3%83%88%E6%95%99%E5%8E%9F%E7%90%86%E4%B8%BB%E7%BE%A9
> キリスト教原理主義(キリストきょうげんりしゅぎ、英語: Christian fundamentalism)とは、
> 特にアメリカ合衆国で聖書の教えを硬直的、新興宗教的に歪曲するキリスト教右派、キリスト教根本主義、
> キリスト教会とその教派に向けて使用される。非難、侮蔑の意味合いを持って使用される場合も多い。
https://twitter.com/takapon_jp/status/9068335656
> 原理主義者はやはりイスラム原理主義者も捕鯨反対原理主義者も
> 正義原理主義者の検察もみんな頑固だから、
> 色んな曲解をしながら原理主義の姿勢を崩さない。
> だからこその原理主義者なんだろうが。。。というわけでもう、寝る。
お前が言う交換可能性とかPOSIXでは一切言われていない
POSIXの教えとは無関係なのにPOSIX原理主義者
POSIXという言葉と成果を利用してるだけ
https://twitter.com/5chan_nel (5ch newer account)
516デフォルトの名無しさん
2021/05/09(日) 18:41:45.38ID:SrZZvaGV チラシの裏に書くのがおすすめだよ
517デフォルトの名無しさん
2021/05/09(日) 18:46:46.40ID:POHrmQr6 だな
普段あんなの視界外なのからは何宣伝してんのとも思えなくもない
普段あんなの視界外なのからは何宣伝してんのとも思えなくもない
518デフォルトの名無しさん
2021/05/09(日) 18:58:58.35ID:QngfRO5p やぶ医者 語源 でぐぐったら一番最初にこれが出てきてワロタw
https://www.kanken.or.jp/kanken/kankantown/trivia/trivia2.html
治療や診断が下手な医者を「藪医者」と言うが、草木が生い茂った「藪」とは直接関係なく、
もともとは「野巫(やぶ)」と書いたとされている。
「野巫」とは、まじないを使ったあやしげな治療しかできない田舎の医者のこと。
https://www.kanken.or.jp/kanken/kankantown/trivia/trivia2.html
治療や診断が下手な医者を「藪医者」と言うが、草木が生い茂った「藪」とは直接関係なく、
もともとは「野巫(やぶ)」と書いたとされている。
「野巫」とは、まじないを使ったあやしげな治療しかできない田舎の医者のこと。
519デフォルトの名無しさん
2021/05/10(月) 02:23:04.02ID:PuMIN21M POSIX原理主義ももう終わりかねぇ
ネタとしては面白かったよ
ネタとしては面白かったよ
520デフォルトの名無しさん
2021/05/10(月) 09:00:19.42ID:m/v6xXVY 例えば微細化技術で消費電力半分になるんだがそのまま消費電力
半分にするかそれともトランジスタ2倍積むかって言われたら
今だったら(dashが必須だったような)組み込み用チップでも
後者をとってWebなりWifiの機能つけてメモリも潤沢になってる
だろうしなあ
半分にするかそれともトランジスタ2倍積むかって言われたら
今だったら(dashが必須だったような)組み込み用チップでも
後者をとってWebなりWifiの機能つけてメモリも潤沢になってる
だろうしなあ
521デフォルトの名無しさん
2021/05/10(月) 09:42:46.16ID:Qz+CRcrD522デフォルトの名無しさん
2021/05/10(月) 10:46:13.22ID:jJW0aId3 >>521
んな単純な話やないやろ。
パフォーマンス指向なら性能が高ければ高いほど売りやすいし、原価比率が小さければ下げたところでたいした儲けにならんし、結局、モノにもよるし経営判断にもよる。
つーか、何の話や?w
んな単純な話やないやろ。
パフォーマンス指向なら性能が高ければ高いほど売りやすいし、原価比率が小さければ下げたところでたいした儲けにならんし、結局、モノにもよるし経営判断にもよる。
つーか、何の話や?w
523デフォルトの名無しさん
2021/05/10(月) 14:41:26.23ID:/CC3l5IU Debianとかパフォーマンスが理由?でdashに変わったけど
今後これが将来bashに変わることってあると思う?
俺はもう無いと思うんだよね
性能的にはbashで良くなったとしても
互換性を理由にPOSIXに縛られちゃった
今後これが将来bashに変わることってあると思う?
俺はもう無いと思うんだよね
性能的にはbashで良くなったとしても
互換性を理由にPOSIXに縛られちゃった
524デフォルトの名無しさん
2021/05/10(月) 16:49:20.96ID:/CC3l5IU POSIXってそんなにいいもんかねぇ
525デフォルトの名無しさん
2021/05/10(月) 18:43:12.00ID:hErX5Z2R Ubuntuでのことがあったから
まあしょうがないってことだな、ああいうプロダクトでは
bashismもそれでわかったくらいな、いいとか言う話ではないな
その後のUbuntuでもPOSIX縛りではないからな
まあPOSIXでも書けるならPOSIX準拠にするだろうけど、ああいうプロダクトでは
まあしょうがないってことだな、ああいうプロダクトでは
bashismもそれでわかったくらいな、いいとか言う話ではないな
その後のUbuntuでもPOSIX縛りではないからな
まあPOSIXでも書けるならPOSIX準拠にするだろうけど、ああいうプロダクトでは
526デフォルトの名無しさん
2021/05/10(月) 19:19:20.01ID:jJW0aId3 Ubuntuで何があったんだっけ?
527デフォルトの名無しさん
2021/05/10(月) 19:47:37.47ID:hErX5Z2R しばらくbashだったがdashに変えた。bashのPOSIXモードで動くように書いてたのに動かないやんけっていう
bashism問題に当たった最初のそれなりのスクリプトの数があるプロダクトがUbuntuじゃないのかな
もしくはちゃんと文書化して残したプロダクトかもだが
bashism問題に当たった最初のそれなりのスクリプトの数があるプロダクトがUbuntuじゃないのかな
もしくはちゃんと文書化して残したプロダクトかもだが
528デフォルトの名無しさん
2021/05/10(月) 19:56:07.55ID:wjJJgxye 必要ないからだろ
bash必要ならインストール
bash必要ならインストール
529デフォルトの名無しさん
2021/05/10(月) 19:58:31.16ID:hErX5Z2R GNU/Linuxだからログインシェル用には必ず入っていそうだが
530デフォルトの名無しさん
2021/05/10(月) 20:11:08.73ID:hErX5Z2R531デフォルトの名無しさん
2021/05/10(月) 20:19:30.27ID:aEtJHiO8 /bin/shがdashへのリンクになってるだけ
UbuntuでもDebianでもデフォルトのログインシェルはbash
上でも言われてる通りbashなりの拡張機能を使いたいならシバンをちゃんと設定すればいい話でしょ
UbuntuでもDebianでもデフォルトのログインシェルはbash
上でも言われてる通りbashなりの拡張機能を使いたいならシバンをちゃんと設定すればいい話でしょ
532デフォルトの名無しさん
2021/05/10(月) 20:29:43.61ID:hErX5Z2R なってるだけが起因なんだがな
というより、bashもなってるだけでもあったろうが、GNUは変なとこで拘るからなあ。素直にPOSIXモードならPOSIX準拠にしていればいいようなもんなのに
なんか他のPOSIXのことでもオレオレの主張は曲げない独自にやるんだというのはあったな
GNU/Linuxはログインシェルはどのディストリでもbashだろうな
変わったディストリはあるかもしれないが
FreeBSDはtcsh、OpenBSDはkshみたいだな。macOSはzshか。BSD系は色々(歴史的に)ありそうだな
というより、bashもなってるだけでもあったろうが、GNUは変なとこで拘るからなあ。素直にPOSIXモードならPOSIX準拠にしていればいいようなもんなのに
なんか他のPOSIXのことでもオレオレの主張は曲げない独自にやるんだというのはあったな
GNU/Linuxはログインシェルはどのディストリでもbashだろうな
変わったディストリはあるかもしれないが
FreeBSDはtcsh、OpenBSDはkshみたいだな。macOSはzshか。BSD系は色々(歴史的に)ありそうだな
533デフォルトの名無しさん
2021/05/11(火) 00:12:44.56ID:1enRFFJU534デフォルトの名無しさん
2021/05/11(火) 07:58:52.53ID:FhvqefgH トレースしてるだけ
535デフォルトの名無しさん
2021/05/11(火) 12:39:30.70ID:PU80Jyjy 極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
POSIX 準拠厨はシェバンに #!/bin/dash って書くべき
POSIX 準拠厨はシェバンに #!/bin/dash って書くべき
536デフォルトの名無しさん
2021/05/11(火) 12:44:51.27ID:1enRFFJU >>535
POSIX準拠厨はPOSIXに準拠するなっていってんの?
POSIX準拠厨はPOSIXに準拠するなっていってんの?
537デフォルトの名無しさん
2021/05/11(火) 13:12:35.75ID:ZJle8Vfo dash用スクリプトを書くのにbashのデバッグ機能は必須(というほど大したもんでもないが…)
538デフォルトの名無しさん
2021/05/11(火) 13:27:42.49ID:rqNaE/tz >>535
今時の /bin/sh の最低限度がPOSIXなんだよ
POSIX以前の /bin/sh が現役(古いどころではないOSを無理に今でも使ってるではなく、現代的なOSでという意味での)なのはどこにあるの?
今時の /bin/sh の最低限度がPOSIXなんだよ
POSIX以前の /bin/sh が現役(古いどころではないOSを無理に今でも使ってるではなく、現代的なOSでという意味での)なのはどこにあるの?
539デフォルトの名無しさん
2021/05/11(火) 14:27:39.20ID:nf224V10 dashならPOSIX準拠、と信じてしまうのも、経緯的によろしくなさそうやけどなあ。
もうbashでもdashでも、#!に明記したほうがマシやろ。
あとから検索もしやすいし。
もうbashでもdashでも、#!に明記したほうがマシやろ。
あとから検索もしやすいし。
540デフォルトの名無しさん
2021/05/11(火) 17:39:06.11ID:kzU/MSxe ただの難癖
そして明記しない意味も無視かよ
そして明記しない意味も無視かよ
541デフォルトの名無しさん
2021/05/12(水) 00:28:01.49ID:w4TAZAbA >>539
スクリプトはPOSIXに準拠しており
POSIXシェルで動かすことを想定しているのだから
#!/bin/sh でいいだろ
実際に動かすシェルのことは知らん。そんなもん使う環境次第だろ。
スクリプトをmacOSにインストールするか、Debianにインストールするか、
その他のUNIXにインストールするか、そんなこと開発者が知ることなんてできない。
スクリプトがPOSIXシェルと言うだけの話。
スクリプトはPOSIXに準拠しており
POSIXシェルで動かすことを想定しているのだから
#!/bin/sh でいいだろ
実際に動かすシェルのことは知らん。そんなもん使う環境次第だろ。
スクリプトをmacOSにインストールするか、Debianにインストールするか、
その他のUNIXにインストールするか、そんなこと開発者が知ることなんてできない。
スクリプトがPOSIXシェルと言うだけの話。
542デフォルトの名無しさん
2021/05/12(水) 00:34:31.14ID:1N3VwigT >>538
bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
正直 bash 拡張使って簡潔に書いたほうがRAMもROM/Storageも少ないんじゃないかと
さえ勘繰ってるわ
bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
正直 bash 拡張使って簡潔に書いたほうがRAMもROM/Storageも少ないんじゃないかと
さえ勘繰ってるわ
543デフォルトの名無しさん
2021/05/12(水) 00:39:55.66ID:w4TAZAbA >>542
メモリやストレージを気にするならBusyBox一択
必然的に使うシェルはBusyBoxに内蔵されてるash
Alpine Linuxのbusyboxは 805.6KB
この中にシェルだけではなくcpやrmやawkなどの
よく使うコマンドが大量に詰め込まれてる
メモリやストレージを気にするならBusyBox一択
必然的に使うシェルはBusyBoxに内蔵されてるash
Alpine Linuxのbusyboxは 805.6KB
この中にシェルだけではなくcpやrmやawkなどの
よく使うコマンドが大量に詰め込まれてる
544デフォルトの名無しさん
2021/05/12(水) 00:44:00.91ID:w4TAZAbA Alpineのbashは742.3k、dashは106.3kだな
それからdashを使うのは環境が極小だからと言うよりも
bashがPOSIXに準拠してないからだ
それからdashを使うのは環境が極小だからと言うよりも
bashがPOSIXに準拠してないからだ
545デフォルトの名無しさん
2021/05/12(水) 00:46:26.43ID:w4TAZAbA 極小環境で現役なもの = 組み込み
546デフォルトの名無しさん
2021/05/12(水) 00:46:28.75ID:1N3VwigT >>541
/bin/sh が POSIX 準拠していない bash の環境もあるんだから
POSIX 準拠を期待しているならシェバンは #!/bin/sh と書くべきじゃない
既に /bin/sh が bash 期待のスクリプトも大量に出回っているから
/bin/sh から bash を追い出すのも現実的じゃない
つまりシェバンに #!/bin/sh って書く、イコール bash でも dash でも
動くなんかよくわからない基準でスクリプト書きますよって宣言している
ようなもんなんだから、そんな曖昧な宣言するぐらいならシェバンに
bash だの dash だの書いた方がいいんじゃないか?
/bin/sh が POSIX 準拠していない bash の環境もあるんだから
POSIX 準拠を期待しているならシェバンは #!/bin/sh と書くべきじゃない
既に /bin/sh が bash 期待のスクリプトも大量に出回っているから
/bin/sh から bash を追い出すのも現実的じゃない
つまりシェバンに #!/bin/sh って書く、イコール bash でも dash でも
動くなんかよくわからない基準でスクリプト書きますよって宣言している
ようなもんなんだから、そんな曖昧な宣言するぐらいならシェバンに
bash だの dash だの書いた方がいいんじゃないか?
547デフォルトの名無しさん
2021/05/12(水) 00:47:51.03ID:w4TAZAbA548デフォルトの名無しさん
2021/05/12(水) 00:48:09.14ID:w4TAZAbA #!/bin/sh はシェルスクリプトに書くものだってわかってる?
549デフォルトの名無しさん
2021/05/12(水) 00:49:26.60ID:w4TAZAbA POSIXシェルで書いてる人は、dashで動かすなんて想定してないからなw
550デフォルトの名無しさん
2021/05/12(水) 00:50:03.00ID:1N3VwigT >>545
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
551デフォルトの名無しさん
2021/05/12(水) 00:53:13.25ID:w4TAZAbA552デフォルトの名無しさん
2021/05/12(水) 01:00:08.38ID:1N3VwigT553デフォルトの名無しさん
2021/05/12(水) 01:01:55.36ID:w4TAZAbA 今からひっくり返せる戦況ってなんのこと?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
554デフォルトの名無しさん
2021/05/12(水) 01:04:16.31ID:1N3VwigT555デフォルトの名無しさん
2021/05/12(水) 01:04:53.84ID:w4TAZAbA bashに限定したらダメでしょ?
dash/ashでは動かないんだから
dash/ashでは動かないんだから
556デフォルトの名無しさん
2021/05/12(水) 01:06:24.03ID:w4TAZAbA dash/ash用(つまりPOSIXシェル)で書けばbashでも動くが
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
557デフォルトの名無しさん
2021/05/12(水) 01:08:44.46ID:1N3VwigT >>553
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
558デフォルトの名無しさん
2021/05/12(水) 01:09:59.32ID:OO1NJlSc 本当すぐPOSIXの話題になるよな
559デフォルトの名無しさん
2021/05/12(水) 01:10:52.06ID:w4TAZAbA >>557
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
560デフォルトの名無しさん
2021/05/12(水) 01:11:51.40ID:w4TAZAbA561デフォルトの名無しさん
2021/05/12(水) 01:26:23.80ID:1N3VwigT >>556
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
562デフォルトの名無しさん
2021/05/12(水) 01:27:46.42ID:w4TAZAbA > #!/bin/sh は何に向けてるかわからんから
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
563デフォルトの名無しさん
2021/05/12(水) 01:28:10.36ID:w4TAZAbA #!/bin/dashだったらdash限定になるじゃん
アホなのかな?
アホなのかな?
564デフォルトの名無しさん
2021/05/12(水) 01:36:50.63ID:1N3VwigT565デフォルトの名無しさん
2021/05/12(水) 01:40:11.91ID:1N3VwigT >>562
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
566デフォルトの名無しさん
2021/05/12(水) 01:40:52.17ID:w4TAZAbA567デフォルトの名無しさん
2021/05/12(水) 01:42:05.81ID:w4TAZAbA568デフォルトの名無しさん
2021/05/12(水) 01:46:16.80ID:w4TAZAbA 私はこのスクリプトをPOSIXシェル用のコードで書いた
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
569デフォルトの名無しさん
2021/05/12(水) 02:04:49.76ID:w4TAZAbA つーかashとdashってほぼ同じでしょ?ashで動作してdashで動作しないことなんてあるの?
あるならdashで動作確認しろってところは変わらんがな
あるならdashで動作確認しろってところは変わらんがな
570デフォルトの名無しさん
2021/05/12(水) 02:05:08.70ID:VEm96Egx 理想主義者 vs 現実主義者
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 大阪人が「安売り」に惹かれなくなった?激安王「スーパー玉出」が大ピンチに《店舗数は最盛期の1/3に激減》 [パンナ・コッタ★]
- 【画像】米国内美人ラッパー「イェーイェー私のオマンコは24時間びしょ濡れ。あーマンコマンコ」 [347751896]
- 【すこん部🏡】白上フブキ🦊配信中❗【ホロライブ▶】
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ4🧪
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
- おっぱい見たい
- たまにVIPなのにやさしい人いるでしょ
