シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
探検
シェルスクリプト総合 その33
■ このスレッドは過去ログ倉庫に格納されています
2020/03/23(月) 01:12:30.31ID:TYte82vJ
469デフォルトの名無しさん
2020/06/17(水) 04:10:45.23ID:H0Dcbe9T ' を、" に変えたら「りんご」が取得できた
Word=`sed -n "$n"p "$LISTPATH"`
echo $Word
Word=`sed -n "$n"p "$LISTPATH"`
echo $Word
470デフォルトの名無しさん
2020/06/17(水) 12:08:45.15ID:IyVPQdQC >>468-469
ダブルクォーテーションに変えて無事"りんご"を取得できました
そして最終的に3は
mv $FILE $PATH2/$Word.txt
と修正して動作成功しました
見ての通り初心者ですので今後は変数の扱いも含めしっかり勉強していきます
shellcheckも使っていきたいと思います
ありがとうございました
ダブルクォーテーションに変えて無事"りんご"を取得できました
そして最終的に3は
mv $FILE $PATH2/$Word.txt
と修正して動作成功しました
見ての通り初心者ですので今後は変数の扱いも含めしっかり勉強していきます
shellcheckも使っていきたいと思います
ありがとうございました
471デフォルトの名無しさん
2020/06/17(水) 17:45:33.68ID:ja1Hhc1L Linuxで近似画像抽出って不可能?
解像度だけ違うとかpngをjpgにした同じ画像とか
画像相手にハッシュで判別とかアホらしいしさ
解像度だけ違うとかpngをjpgにした同じ画像とか
画像相手にハッシュで判別とかアホらしいしさ
472デフォルトの名無しさん
2020/06/17(水) 18:37:04.24ID:UMZJaayo 全くLinuxどうのという話ではないだろう
AIの分野だな。やろうと思えばLinuxでできるだろう。Linuxに限らずどのOSでもだけど
AIの分野だな。やろうと思えばLinuxでできるだろう。Linuxに限らずどのOSでもだけど
473デフォルトの名無しさん
2020/06/17(水) 19:16:36.41ID:gquwKRiO gqviewは非常に優秀
474デフォルトの名無しさん
2020/06/17(水) 22:35:51.76ID:MW1JUI55 なぜシェルスクリプトのスレに書き込んだのかコレガワカラナイ
475デフォルトの名無しさん
2020/06/17(水) 23:38:01.91ID:H0Dcbe9T このshellcheck は有用
警告・エラーメッセージなどを、国際化(日本語化)すべき!
警告・エラーメッセージなどを、国際化(日本語化)すべき!
476デフォルトの名無しさん
2020/06/18(木) 00:02:30.93ID:qaboPGNj >>475
言いだしっぺ
言いだしっぺ
477デフォルトの名無しさん
2020/06/18(木) 11:07:19.57ID:kWYo0BCq シェルスクリプトが国際化できんのだから,shellcheckにしても然り。
478デフォルトの名無しさん
2020/06/18(木) 12:00:17.90ID:YEv8iIAV だから言い出しっぺがということね
479デフォルトの名無しさん
2020/06/18(木) 12:32:46.90ID:FBRgI1FZ 簡単なシェルスクリプトならググらず書けるようになったけどクッソ読みにくい
case使わずifだらけにする癖が付いたからだけど
コマンドの仕様が統一されてないからほんと迷うわ
lsみたいにオプションの集約や指定位置が自由なのもあれば融通が利かないのもあるし
case使わずifだらけにする癖が付いたからだけど
コマンドの仕様が統一されてないからほんと迷うわ
lsみたいにオプションの集約や指定位置が自由なのもあれば融通が利かないのもあるし
480デフォルトの名無しさん
2020/06/18(木) 16:03:41.90ID:kWYo0BCq オプションの規約はここ
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html>
に書かれている通り,
本来は被演算子は最後にしか持って来れないし,
オプションは “-o” という連字符一文字・英字一文字の形式しか認められてない。
lsはGNUとかで拡張されて,被演算子を途中に持って来れたり,
連字符二つ・英数字複数の長いオプションが使えたりするけど,
可搬性を重視するなら止めたほうがいい。
可搬性を重視しないなら,お好きにどうぞ,でも,
老婆心ながら言うと,困ると思う。
現に「lsではオプションの置き場所が自由なのに
このユーティリティではそうじゃない」
っていう風に困ってる訳だし。
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html>
に書かれている通り,
本来は被演算子は最後にしか持って来れないし,
オプションは “-o” という連字符一文字・英字一文字の形式しか認められてない。
lsはGNUとかで拡張されて,被演算子を途中に持って来れたり,
連字符二つ・英数字複数の長いオプションが使えたりするけど,
可搬性を重視するなら止めたほうがいい。
可搬性を重視しないなら,お好きにどうぞ,でも,
老婆心ながら言うと,困ると思う。
現に「lsではオプションの置き場所が自由なのに
このユーティリティではそうじゃない」
っていう風に困ってる訳だし。
481デフォルトの名無しさん
2020/06/19(金) 11:57:59.31ID:xXxRIFf6 あぁGNU拡張はUNIX哲学に反するから悪ってことか
便利な分横着して悪癖が付いたら困るもんな
機能は盛るけど極力使うなって実に杓子定規というか
便利な分横着して悪癖が付いたら困るもんな
機能は盛るけど極力使うなって実に杓子定規というか
482デフォルトの名無しさん
2020/06/19(金) 17:24:24.21ID:gQU/M+Sr UNIX哲学に反したGNU拡張ってなに?
オプション名は1文字なんていうのがUNIX哲学とは思えないな
オプション名は1文字なんていうのがUNIX哲学とは思えないな
483デフォルトの名無しさん
2020/06/19(金) 22:49:12.08ID:zEq7EJiO 広義では哲学と言えなくもないな
XBD Utility Syntax Guidelines
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
XBD : Single UNIX Specification's Base Definitions
XBD Utility Syntax Guidelines
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
XBD : Single UNIX Specification's Base Definitions
484デフォルトの名無しさん
2020/06/20(土) 02:57:37.69ID:n0lXBS13 ガイドラインなら哲学じゃないな
485デフォルトの名無しさん
2020/06/20(土) 11:04:41.29ID:n5C6ULNh 単純馬鹿にはそうなんだろな
486デフォルトの名無しさん
2020/06/20(土) 20:15:36.78ID:y/L3Z2RW systemdとかいう反UNX哲学の旗頭
487デフォルトの名無しさん
2020/06/21(日) 09:35:40.38ID:IKNG1Fdo 言うほど反UNIXか?
一連の騒動を見ていて,
なんかsystemdの製作者を嫌う一部の人たちが
「UNIX哲学」を錦の御旗にしてsystemdに反発して,
それにUNIXをよく分かってない沢山の人々が
盲目的に加勢してる,っていう印象を受けたけどな。
一連の騒動を見ていて,
なんかsystemdの製作者を嫌う一部の人たちが
「UNIX哲学」を錦の御旗にしてsystemdに反発して,
それにUNIXをよく分かってない沢山の人々が
盲目的に加勢してる,っていう印象を受けたけどな。
488デフォルトの名無しさん
2020/06/21(日) 09:42:27.13ID:IvBo3j6N 気持ちは分からんでもないけどね
489デフォルトの名無しさん
2020/06/22(月) 08:36:37.15ID:sDTlcsla systemdは開発者が問題児だから批判されたって読んだ希ガス
わざわざsvchostを持ち込んだ責任は重いけどそれだけじゃないのよね
わざわざsvchostを持ち込んだ責任は重いけどそれだけじゃないのよね
490デフォルトの名無しさん
2020/06/22(月) 09:33:16.84ID:tLwRlm9z そんなんあったんとググったら
2014-04-03
https://cpplover.blogspot.com/2014/04/linussystemd.html
なんてな、なるほどな。でも、
2014-09-22
https://japan.zdnet.com/article/35054101/
とか、Linus御大はちょっとは寛容になったのか?
だが、
2016年10月5日
https://gihyo.jp/admin/clip/01/linux_dt/201610/05
まだ続いていたのね。そして現在もまだ続いているのかというw
2014-04-03
https://cpplover.blogspot.com/2014/04/linussystemd.html
なんてな、なるほどな。でも、
2014-09-22
https://japan.zdnet.com/article/35054101/
とか、Linus御大はちょっとは寛容になったのか?
だが、
2016年10月5日
https://gihyo.jp/admin/clip/01/linux_dt/201610/05
まだ続いていたのね。そして現在もまだ続いているのかというw
491デフォルトの名無しさん
2020/06/22(月) 09:36:00.54ID:tLwRlm9z ああ、注目されているののは、UNIX哲学というより、手前勝手にやってんじゃねえ&品質悪いだろが主だな上記のは
492デフォルトの名無しさん
2020/06/22(月) 21:15:42.58ID:83oEFw3E 作者が嫌いならそう言えばいいのに
UNIX哲学とかなんとか持ちだすのが卑怯というか嫌らしいなと思った(小並感)
UNIX哲学とかなんとか持ちだすのが卑怯というか嫌らしいなと思った(小並感)
493デフォルトの名無しさん
2020/06/23(火) 09:57:12.79ID:giQS7MtY でもその粗末なものを不本意でも導入したってことはそういうことだよね
対抗したのはdebianくらいでしょ
対抗したのはdebianくらいでしょ
494デフォルトの名無しさん
2020/06/23(火) 13:34:53.18ID:4ygLxlxX Debianもsystemdなんですが。
495デフォルトの名無しさん
2020/06/23(火) 23:09:30.34ID:LfK68hWg それもどちらかというと早く取り入れた方じゃんw
496デフォルトの名無しさん
2020/06/24(水) 08:21:39.73ID:fB1/4/mN POSIXの次のissue (issue 8?) が出るのっていつ,とか分かる?
さっさと$'\n'表記を臆面なく使いたい
さっさと$'\n'表記を臆面なく使いたい
497デフォルトの名無しさん
2020/06/24(水) 16:45:25.56ID:evfa9tXu どうせシェルが対応してないだろ
498デフォルトの名無しさん
2020/06/25(木) 20:11:27.03ID:9YSX2wtH 指定した変数を復旧可能な形でダンプする方法(ようするにシリアライズ)は
bashとかだとdeclare -p abcとかでできますが
dashで同じような事をする方法はりますか?
setとかだと特定の変数だけはできないと思います。
bashとかだとdeclare -p abcとかでできますが
dashで同じような事をする方法はりますか?
setとかだと特定の変数だけはできないと思います。
499デフォルトの名無しさん
2020/06/25(木) 23:23:44.84ID:gX/RvIRg >>498
復旧っていうのが出力を再度shに読み込ませて代入できる、
っていうことだとすれば、env。
ただし
$ VAR='***'
と代入していた場合はenvの出力で引用符が外されて
対話環境だとマズいことになる。
復旧っていうのが出力を再度shに読み込ませて代入できる、
っていうことだとすれば、env。
ただし
$ VAR='***'
と代入していた場合はenvの出力で引用符が外されて
対話環境だとマズいことになる。
500デフォルトの名無しさん
2020/06/25(木) 23:41:04.14ID:9YSX2wtH >>499
envでどうやればできるんです?
envでどうやればできるんです?
501デフォルトの名無しさん
2020/06/26(金) 08:57:30.48ID:Sc0VO8uZ502デフォルトの名無しさん
2020/06/26(金) 08:57:35.06ID:yEClztmT503デフォルトの名無しさん
2020/06/26(金) 09:36:17.92ID:50iMo9Ym >>501
それじゃだめですね
1. でません
$ abc=123
$ env | grep abc
$
2. 誤爆します
$ export abc='USER=1
USER=2
USER=3
USER=4'
$ env | grep -e '^USER='
USER=name
USER=2
USER=3
USER=4
それじゃだめですね
1. でません
$ abc=123
$ env | grep abc
$
2. 誤爆します
$ export abc='USER=1
USER=2
USER=3
USER=4'
$ env | grep -e '^USER='
USER=name
USER=2
USER=3
USER=4
504デフォルトの名無しさん
2020/06/26(金) 09:39:15.48ID:50iMo9Ym 3. 復旧できません
$ export abc='USER=1
aaa
bbb
ccc'
$ env | grep -e '^USER='
USER=name
$ export abc='USER=1
aaa
bbb
ccc'
$ env | grep -e '^USER='
USER=name
505デフォルトの名無しさん
2020/06/26(金) 11:24:38.83ID:Sc0VO8uZ 多機能を望むならBash使っとけば,って思っちゃうw
マジレスするとsedでエスケープとかすりゃいいんじゃないっすかね。
(なんかPOSIXシェルでXMLパーサー実装した!みたいな人思い出した。
「自分のやりたいこと」と「それを実現する環境」が明らかに釣り合ってない)
マジレスするとsedでエスケープとかすりゃいいんじゃないっすかね。
(なんかPOSIXシェルでXMLパーサー実装した!みたいな人思い出した。
「自分のやりたいこと」と「それを実現する環境」が明らかに釣り合ってない)
506デフォルトの名無しさん
2020/06/26(金) 14:58:30.56ID:di73h+MO sed(とか)使っていいんだったら、
値は ' で囲む、値中の ' は '\'' に変換する
だけでいいような
値は ' で囲む、値中の ' は '\'' に変換する
だけでいいような
507デフォルトの名無しさん
2020/06/26(金) 15:05:44.69ID:50iMo9Ym508デフォルトの名無しさん
2020/06/26(金) 15:18:09.38ID:di73h+MO aaa=''\''abc'\'' '\''def'\'''
509デフォルトの名無しさん
2020/06/26(金) 17:26:15.56ID:50iMo9Ym >>508
シングルクォートなくなってるぞw
シングルクォートなくなってるぞw
510デフォルトの名無しさん
2020/06/26(金) 18:59:02.28ID:Sc0VO8uZ ちなみにそれでも
VAR='a
b=c
d'
みたいなのには対処できない。
いや〜果てしないっすね,POSIX原理主義を貫くとw
VAR='a
b=c
d'
みたいなのには対処できない。
いや〜果てしないっすね,POSIX原理主義を貫くとw
511デフォルトの名無しさん
2020/06/26(金) 19:38:40.29ID:SG/+b/+N 世の中bashオンリーになってくれれば楽なんだけどね。
dashが使われてる現実がある。現実主義者は辛いよ。
dashが使われてる現実がある。現実主義者は辛いよ。
512デフォルトの名無しさん
2020/06/26(金) 20:42:38.17ID:Sc0VO8uZ 現実にはBashが使える環境が大半だと思われ。
AIXみたいな極一部の環境を想定することを「現実主義」と言うのは間違ってると思うよ。
まあ,多分「現実主義」と本気で考えてる訳じゃなくて,
俺の書き込みにカッとなって「自分の方が現実見てますアピール」をしてるんだろうが。
AIXみたいな極一部の環境を想定することを「現実主義」と言うのは間違ってると思うよ。
まあ,多分「現実主義」と本気で考えてる訳じゃなくて,
俺の書き込みにカッとなって「自分の方が現実見てますアピール」をしてるんだろうが。
513デフォルトの名無しさん
2020/06/26(金) 20:47:57.71ID:0CWC8I0Q debian/ubuntuの/bin/shがdashなのを知らないの?
514デフォルトの名無しさん
2020/06/26(金) 20:49:25.45ID:0CWC8I0Q515デフォルトの名無しさん
2020/06/26(金) 20:52:00.79ID:0CWC8I0Q dashという名前がでてるのにAIXを思い浮かべるあたり現実を知らんとしか思えんな
AIXのデフォルトシェルはBourne shellかkshだろうに
AIXのデフォルトシェルはBourne shellかkshだろうに
516デフォルトの名無しさん
2020/06/26(金) 21:44:27.05ID:WqCeXtR5 >>509
無くなってないだろ
無くなってないだろ
517デフォルトの名無しさん
2020/06/26(金) 22:04:15.47ID:WqCeXtR5 >>510
foo () {
echo "$1='$(eval echo "\"\$$1\"" | sed -e "s/'/'"'\\'"''/g")'"
}
VAR='a
b=c
d'
echo "$VAR"
bar="$(foo VAR)"
echo "$bar"
VAR=''
echo "before: $VAR"
eval "$bar"
echo "after: $VAR"
一応dashで動いているようだけど?対処できないって?
foo () {
echo "$1='$(eval echo "\"\$$1\"" | sed -e "s/'/'"'\\'"''/g")'"
}
VAR='a
b=c
d'
echo "$VAR"
bar="$(foo VAR)"
echo "$bar"
VAR=''
echo "before: $VAR"
eval "$bar"
echo "after: $VAR"
一応dashで動いているようだけど?対処できないって?
518デフォルトの名無しさん
2020/06/26(金) 22:33:00.77ID:WqCeXtR5 とりあえず、三つの環境で試してみたが動いているかな
こんな簡単でいいのかというのは拭えないが
しかし、
コード書けないのか書かないのか、
ちゃんと考えず検証もせずに、
自分の頭の中もしくはおま環だけで、
解決にも繋がらないのをよく続けてたな、どっちも
って感じ
こんな簡単でいいのかというのは拭えないが
しかし、
コード書けないのか書かないのか、
ちゃんと考えず検証もせずに、
自分の頭の中もしくはおま環だけで、
解決にも繋がらないのをよく続けてたな、どっちも
って感じ
519デフォルトの名無しさん
2020/06/26(金) 22:55:36.19ID:Sc0VO8uZ 出、出〜両成敗言奴〜
520デフォルトの名無しさん
2020/06/26(金) 23:06:55.36ID:WqCeXtR5 レスはするがそんなレスしかしないのは、
対処できないってことはないってことでいいいのね
対処できないってことはないってことでいいいのね
521デフォルトの名無しさん
2020/06/27(土) 09:22:36.01ID:VhavnPnf 最近はpwshが便利でお気に入り
bashは何をやるにもめんどくさくてだめだ
未だに引数の解析をloopとcaseでやるとか原始時代かよ
bashは何をやるにもめんどくさくてだめだ
未だに引数の解析をloopとcaseでやるとか原始時代かよ
522デフォルトの名無しさん
2020/06/27(土) 09:40:10.35ID:gS37C1rZ その程度の問題ならライブラリを作るだけで解決するんだがな
523デフォルトの名無しさん
2020/06/27(土) 22:42:10.04ID:712NPp+Q getopts知らない可能性が微レ存
524デフォルトの名無しさん
2020/06/27(土) 22:53:58.90ID:vaH0ijdP getoptsもループだろ
525デフォルトの名無しさん
2020/06/27(土) 23:10:59.70ID:gS37C1rZ getoptsは文字列操作が苦手なC言語のためのもので
それをそのままシェルスクリプトに移植しても
あまり意味がないんだよな
しかも設計がUnixの歴史の初期の頃のものだから
最近の言語のものに比べて使いやすくもない
それをそのままシェルスクリプトに移植しても
あまり意味がないんだよな
しかも設計がUnixの歴史の初期の頃のものだから
最近の言語のものに比べて使いやすくもない
526デフォルトの名無しさん
2020/06/28(日) 18:17:34.25ID:AbPoRZT9 rust製のコマンドが流行って来てるね
shft-jis対応が微妙なのが多いけど
shft-jis対応が微妙なのが多いけど
527デフォルトの名無しさん
2020/06/29(月) 11:20:40.30ID:rI2xXdg9 今時Shift-JISなんて使ってるとこがおかしいw
528デフォルトの名無しさん
2020/06/29(月) 15:44:22.24ID:6OaJq9UQ Windowsでbashやpythonのスクリプトを書いてると
表立っては目に見えなくはなってるけど
未だにcp932の呪縛から逃れられない
エラーが出て改めて気付かされる
表立っては目に見えなくはなってるけど
未だにcp932の呪縛から逃れられない
エラーが出て改めて気付かされる
529デフォルトの名無しさん
2020/06/29(月) 17:28:25.05ID:KH0T80po WSLでええんちゃうの
530デフォルトの名無しさん
2020/06/29(月) 19:53:16.74ID:tYVp58Ca cp932を使う必要ないよ
531デフォルトの名無しさん
2020/06/29(月) 19:55:39.65ID:tYVp58Ca そもそもファイルはUTF-8で書く
各コマンドはWindowsネイティブのUTF-16で出力する
(UTF-16はWSLにわたすとUTF-8に変換される)
とまあUnicodeで完結するわけで
cp932とかいらないし、でてこない。
各コマンドはWindowsネイティブのUTF-16で出力する
(UTF-16はWSLにわたすとUTF-8に変換される)
とまあUnicodeで完結するわけで
cp932とかいらないし、でてこない。
532デフォルトの名無しさん
2020/06/29(月) 22:49:57.66ID:P14Kkthl WSLのウリの一つであるLinuxとWindowsのシームレスな運用という点を活かそうと、
WSLからWindowsのプログラム(cp932対応)を呼び出し、応答を受けたりしようとする場合には、
cp932に全く触れないで済む、とは必ずしも言えないでしょう。
これに加えて、python 2だった頃は、もうユニコード地獄とともに、cp932を常に意識しないとならなかったけど、
python 3になって、ずいぶん楽になったわ。
いずれにしても、対応するプログラム次第だな。
WSLからWindowsのプログラム(cp932対応)を呼び出し、応答を受けたりしようとする場合には、
cp932に全く触れないで済む、とは必ずしも言えないでしょう。
これに加えて、python 2だった頃は、もうユニコード地獄とともに、cp932を常に意識しないとならなかったけど、
python 3になって、ずいぶん楽になったわ。
いずれにしても、対応するプログラム次第だな。
533デフォルトの名無しさん
2020/06/29(月) 23:21:10.60ID:cNuHuLWV >>532
> WSLからWindowsのプログラム(cp932対応)を呼び出し
なんのことでしょうか?
まずWindowsのコマンドは全てUnicode対応です。
chcp 65001でUTF-8に変更してちゃんと表示されるのがその証拠です。
またWSLからWindowsのコマンドを呼び出した場合、それはUnicodeで出力されます。
例えば絵文字などcp932にない文字を含んだファイル名があるディレクトリを表示してみてください
問題なく表示されるはずです。
例 WSL上で実行: $ cmd.exe /c dir c:\\dir
同様にそのコマンドを他のプログラムにリダイレクトしてみてください
例 WSL上で実行: $ cmd.exe /c dir c:\\dir | less
この場合chcp 65001されたのと同じように英語モードに切り替わりますが
ファイル名は文字化けしません。nkfを使えばUTF-8であることが判明します。
例 WSL上で実行: $ cmd.exe /c dir c:\\dir | nkf --guess
UTF-8 (CRLF)
WSLからWindowsのコマンドを呼び出す際、cp932に触れることはありません。
> WSLからWindowsのプログラム(cp932対応)を呼び出し
なんのことでしょうか?
まずWindowsのコマンドは全てUnicode対応です。
chcp 65001でUTF-8に変更してちゃんと表示されるのがその証拠です。
またWSLからWindowsのコマンドを呼び出した場合、それはUnicodeで出力されます。
例えば絵文字などcp932にない文字を含んだファイル名があるディレクトリを表示してみてください
問題なく表示されるはずです。
例 WSL上で実行: $ cmd.exe /c dir c:\\dir
同様にそのコマンドを他のプログラムにリダイレクトしてみてください
例 WSL上で実行: $ cmd.exe /c dir c:\\dir | less
この場合chcp 65001されたのと同じように英語モードに切り替わりますが
ファイル名は文字化けしません。nkfを使えばUTF-8であることが判明します。
例 WSL上で実行: $ cmd.exe /c dir c:\\dir | nkf --guess
UTF-8 (CRLF)
WSLからWindowsのコマンドを呼び出す際、cp932に触れることはありません。
534デフォルトの名無しさん
2020/06/30(火) 00:47:57.76ID:qHUx6lkJ cp932とかshift-jisとか別に対応しなくてもいい、必要ならユーザ側で変換すればいいだけの話でもある
cp932とかshift-jisとか日本でも今更の方が多いのに、日本/日本人じゃないプロダクトで対応を求めるのはまあない話だな
cp932とかshift-jisとか日本でも今更の方が多いのに、日本/日本人じゃないプロダクトで対応を求めるのはまあない話だな
535デフォルトの名無しさん
2020/06/30(火) 00:54:07.86ID:3w3RlvW0536デフォルトの名無しさん
2020/06/30(火) 13:29:30.53ID:4tQoD8Fw 言いたい事は伝わるけど日本語が不自由すぎる
537デフォルトの名無しさん
2020/06/30(火) 13:45:57.96ID:ww2Xd+MO 結局文字コードに関しての理解が浅いから
Windowsはcp932なんだよ!だからcp932を使うんだよ!
そしてcp932扱おうとすると難しいんだよ!ってなるんだよ
普通にUTF-8を使っていれば、Windows(Unicodeがネイティブの文字コード)とも
Linuxとも相性がいいのに
Windowsはcp932なんだよ!だからcp932を使うんだよ!
そしてcp932扱おうとすると難しいんだよ!ってなるんだよ
普通にUTF-8を使っていれば、Windows(Unicodeがネイティブの文字コード)とも
Linuxとも相性がいいのに
538デフォルトの名無しさん
2020/06/30(火) 14:08:10.20ID:rT4NJ8lb テキストの中身はいいとしてファイル名()
539デフォルトの名無しさん
2020/06/30(火) 16:43:12.21ID:v6RmXu90 ファイル名でも同じだな
結局文字コードに関しての理解が浅いから()
結局文字コードに関しての理解が浅いから()
540デフォルトの名無しさん
2020/06/30(火) 17:02:50.63ID:NeVIM/JQ cp932を使ってる環境が今でもある以上、それに対応する必要はあるだろ
自分で管理できる環境しかいじらないのであれば、utf-8にでも統一すればいいが
そうじゃない場合はそのままではどうしようもない
utf-8が当たり前だと思ってるやつは、euc-jpとかも使ったこともないんだろうな
以前はperlなんかのcp932ダメ文字対策にはこれしかなかった
自分で管理できる環境しかいじらないのであれば、utf-8にでも統一すればいいが
そうじゃない場合はそのままではどうしようもない
utf-8が当たり前だと思ってるやつは、euc-jpとかも使ったこともないんだろうな
以前はperlなんかのcp932ダメ文字対策にはこれしかなかった
541デフォルトの名無しさん
2020/06/30(火) 17:11:34.24ID:2vqY+HLu めんどくさいのを知ってるからUTF-8に統一できるのだからそれにしたそれにするって話なのに
未だにcp932だの言ってるのはめんどくさくないんだろ?文句言うなw
未だにcp932だの言ってるのはめんどくさくないんだろ?文句言うなw
542デフォルトの名無しさん
2020/06/30(火) 18:38:38.55ID:KNAz+qB3 めんどくさいけどそれを避けられないという場合もあるという話だろ
巷にはまだまだ古い環境が残ってるんだよ
自分のせいじゃないんだから文句くらい言わせろw
巷にはまだまだ古い環境が残ってるんだよ
自分のせいじゃないんだから文句くらい言わせろw
543デフォルトの名無しさん
2020/06/30(火) 19:14:10.54ID:XR44DBqi チラ裏にでも書いてろって話だな
544デフォルトの名無しさん
2020/06/30(火) 19:24:16.74ID:nJuhvFVE cp932 を UTF-8 にマイグレーション:めんどくさいからやりたくない
cp932 <> UTF-8 処理中に逐次相互変換:めんどくさいからやりたくない
cp932 <> UTF-8 フロントエンドで相互変換:めんどくさいからやりたくない
自分で対応できることをやりたくないから、誰かがcp932対応しろ
って話ですね
cp932 <> UTF-8 処理中に逐次相互変換:めんどくさいからやりたくない
cp932 <> UTF-8 フロントエンドで相互変換:めんどくさいからやりたくない
自分で対応できることをやりたくないから、誰かがcp932対応しろ
って話ですね
545デフォルトの名無しさん
2020/06/30(火) 20:52:19.85ID:tmp+8cJm すでにcp932に対応しているので遠慮しておきます
546デフォルトの名無しさん
2020/06/30(火) 21:00:48.27ID:ww2Xd+MO547デフォルトの名無しさん
2020/06/30(火) 21:54:26.59ID:nHUgkpqk それを世の人は「対応」という
548デフォルトの名無しさん
2020/07/01(水) 00:00:33.48ID:nsCEyl21 元レスのヤツがその対応してないのに対してのだろ
とんちんかんじゃね
とんちんかんじゃね
549デフォルトの名無しさん
2020/07/01(水) 00:55:56.18ID:bhKr/oya 日本語でおk
550デフォルトの名無しさん
2020/07/01(水) 01:31:07.01ID:keO9QSLH Windows を使うのは大変なんだな。
…ああ、それが無理だから Linux しか使わなくなったんだった。
…ああ、それが無理だから Linux しか使わなくなったんだった。
551デフォルトの名無しさん
2020/07/01(水) 06:57:53.27ID:lozEWamw 多分なcp932をUTF-8に変換して戻せばいいって聞いた時
間抜けなやつは、コードの中でいちいち変換してるんだよ
func() {
str_sjis=$1
str_utf8=$(sjis_to_utf8 "$1")
ret_utf8=$(foo "$str_utf8")
ret_sjis=$(utf8_to_sjis "$ret_utf8")
echo "$ret_sjis"
}
こんな感じでな。コードのあちこちでこのような変換を行ってる。
あー、あほあほ、ばからしすぎる
コマンド呼び出しの前に外部コマンドで変換してしまうという発想がない
間抜けなやつは、コードの中でいちいち変換してるんだよ
func() {
str_sjis=$1
str_utf8=$(sjis_to_utf8 "$1")
ret_utf8=$(foo "$str_utf8")
ret_sjis=$(utf8_to_sjis "$ret_utf8")
echo "$ret_sjis"
}
こんな感じでな。コードのあちこちでこのような変換を行ってる。
あー、あほあほ、ばからしすぎる
コマンド呼び出しの前に外部コマンドで変換してしまうという発想がない
552デフォルトの名無しさん
2020/07/01(水) 07:44:48.00ID:61AWgfbD cp932からutf8は不可逆変換
553デフォルトの名無しさん
2020/07/01(水) 08:54:24.38ID:lozEWamw >>552
それがどうかしたの?
それがどうかしたの?
554デフォルトの名無しさん
2020/07/02(木) 00:24:14.35ID:oVzUH9JU 自己紹介しなくてもいいのにねぇ
555デフォルトの名無しさん
2020/07/02(木) 00:53:42.38ID:9cYvmHwP テキストエディタを作る時、内部のデータをUnicodeで持つか
あらゆる文字コードでデータが持てるようにするかの違い
あらゆる文字コードに対応するのは大変だから
ファイル読み書き時に変換し内部データはUnicodeでもつのが普通
シェルスクリプトで言えばiconvやnkfなどのフィルタを使って
文字コードを変換すれば、シェルスクリプトでは全てUTF-8として扱うことができる
シェルスクリプト以外の各言語でも同じことができる
なぜ未だにcp932のことを考える必要があるのかわからない
あらゆる文字コードでデータが持てるようにするかの違い
あらゆる文字コードに対応するのは大変だから
ファイル読み書き時に変換し内部データはUnicodeでもつのが普通
シェルスクリプトで言えばiconvやnkfなどのフィルタを使って
文字コードを変換すれば、シェルスクリプトでは全てUTF-8として扱うことができる
シェルスクリプト以外の各言語でも同じことができる
なぜ未だにcp932のことを考える必要があるのかわからない
556デフォルトの名無しさん
2020/07/02(木) 00:58:14.59ID:9cYvmHwP そもそもWindowsはUTF-16がネイティブで
すべてのCLIコマンドはUTF-16で出力するのに
一体誰がcp932を出力するのかわからない
なおWindowsから標準出力にUTF-16で出力したデータは
WSL上のコマンドで受け取ったときには自動的にUTF-8に変換されている
(ファイル読み込み時に勝手にデータが変換されるという意味ではない)
すべてのCLIコマンドはUTF-16で出力するのに
一体誰がcp932を出力するのかわからない
なおWindowsから標準出力にUTF-16で出力したデータは
WSL上のコマンドで受け取ったときには自動的にUTF-8に変換されている
(ファイル読み込み時に勝手にデータが変換されるという意味ではない)
557デフォルトの名無しさん
2020/07/02(木) 04:04:30.63ID:7rdALa4M >内部データはUnicodeでもつのが普通
厳密にはOS(API)のネイティブな文字コードだな
今時のOSのはUnicodeだから間違ってもいないけど、多分、古いWindowsのはShift-JISなんじゃないかな
厳密にはOS(API)のネイティブな文字コードだな
今時のOSのはUnicodeだから間違ってもいないけど、多分、古いWindowsのはShift-JISなんじゃないかな
558デフォルトの名無しさん
2020/07/02(木) 04:37:48.98ID:9cYvmHwP 古いWindowsとか適当なことを言うな
Windows 95よりも早く開発していた
Windows NTは最初からUnicodeだ
Windows 95よりも早く開発していた
Windows NTは最初からUnicodeだ
559デフォルトの名無しさん
2020/07/02(木) 04:57:08.09ID:mSCtcEnU XPでCygwinでシコシコやってた頃は、
cp932やらeuc-jpやらで大変だったなぁ
対応版が出るまで、utf-8? 何それ美味しいの? 状態で、
まともに使えるように、いろいろおまじないしてたっけ
cp932やらeuc-jpやらで大変だったなぁ
対応版が出るまで、utf-8? 何それ美味しいの? 状態で、
まともに使えるように、いろいろおまじないしてたっけ
560デフォルトの名無しさん
2020/07/02(木) 10:38:14.71ID:6iBChMal >>95
Windows 95よりも早く開発していたなんて嘘言うなよ
内部と表層は違う。Unicodeが表層にもなったのは最近だろ
Windows 95よりも早くとか曖昧なとこで完全な嘘だしな。痴呆で忘れたか?
Windows 95よりも早く開発していたなんて嘘言うなよ
内部と表層は違う。Unicodeが表層にもなったのは最近だろ
Windows 95よりも早くとか曖昧なとこで完全な嘘だしな。痴呆で忘れたか?
561デフォルトの名無しさん
2020/07/02(木) 10:39:39.66ID:6iBChMal562デフォルトの名無しさん
2020/07/02(木) 12:02:46.70ID:9cYvmHwP >>560
https://ja.wikipedia.org/wiki/Microsoft_Windows_NT#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E5%A4%89%E9%81%B7%E5%8F%8A%E3%81%B3%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E7%89%B9%E5%BE%B4
> IBMと共同で開発していたOS/2のバージョン2の次期バージョンをWindows NTとし、
> IBMとは別に製品を開発していくこととなる。最初のバージョンは3.1であり、
> これ以前に発売されていたWindows 3.1と互換性があるため、Windows NTの
> 最初のバージョンも3.0ではなく3.1として発売した。これはWindows3.1と歩調を揃えるという、
> マーケティング上の理由による。
>
> 以下、英語版の発売年を併記する。
>
> Windows NT 3.1(1994年)
>
> 初期バージョン。コードネームはWNT。デスクトップ シェルとしてWindows 3.1と
> 同じユーザインタフェースを採用していた。英語版は1993年7月27日に発売された。
https://ja.wikipedia.org/wiki/Microsoft_Windows_NT#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E5%A4%89%E9%81%B7%E5%8F%8A%E3%81%B3%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E7%89%B9%E5%BE%B4
> IBMと共同で開発していたOS/2のバージョン2の次期バージョンをWindows NTとし、
> IBMとは別に製品を開発していくこととなる。最初のバージョンは3.1であり、
> これ以前に発売されていたWindows 3.1と互換性があるため、Windows NTの
> 最初のバージョンも3.0ではなく3.1として発売した。これはWindows3.1と歩調を揃えるという、
> マーケティング上の理由による。
>
> 以下、英語版の発売年を併記する。
>
> Windows NT 3.1(1994年)
>
> 初期バージョン。コードネームはWNT。デスクトップ シェルとしてWindows 3.1と
> 同じユーザインタフェースを採用していた。英語版は1993年7月27日に発売された。
563デフォルトの名無しさん
2020/07/02(木) 12:05:14.83ID:9cYvmHwP564デフォルトの名無しさん
2020/07/02(木) 13:33:50.59ID:ACoXsYjy Windows API には システムエンコーディング対応のとUnicode対応のがある
日本語に限っては、システムエンコーディングがUTF-8対応になったのはつい最近、当然それ以前はShift-JIS
てとこかな、ググったとこでは
UTF-8に対応してないのにわざわざUnicodeに対応しようとはしないわな当たり前に
システム内部でUnicode対応していようが、Shift-JIS APIしか「使えない」んだったら内部で対応していようがデベロッパーには見えない部分だし、そんなアプリが普通でもおかしくはないな
日本語に限っては、システムエンコーディングがUTF-8対応になったのはつい最近、当然それ以前はShift-JIS
てとこかな、ググったとこでは
UTF-8に対応してないのにわざわざUnicodeに対応しようとはしないわな当たり前に
システム内部でUnicode対応していようが、Shift-JIS APIしか「使えない」んだったら内部で対応していようがデベロッパーには見えない部分だし、そんなアプリが普通でもおかしくはないな
565デフォルトの名無しさん
2020/07/02(木) 13:45:58.39ID:ACoXsYjy >>562
なんの引用かいまいちわからんけど、Windowsが内部的にUnicodeになったのはWindows NTからみたいだけど。普及したというならWindows 2000からか
(それでも内部でUnicodeだろうがShift-JISがデフォのようだけど)
Windows 9x 前(もちろん 3.1も)までは限定的なUnicode文字列操作ライブラリがあったとかかな
なんの引用かいまいちわからんけど、Windowsが内部的にUnicodeになったのはWindows NTからみたいだけど。普及したというならWindows 2000からか
(それでも内部でUnicodeだろうがShift-JISがデフォのようだけど)
Windows 9x 前(もちろん 3.1も)までは限定的なUnicode文字列操作ライブラリがあったとかかな
566デフォルトの名無しさん
2020/07/02(木) 15:28:28.91ID:9cYvmHwP >>564
> 日本語に限っては、システムエンコーディングがUTF-8対応になったのはつい最近、当然それ以前はShift-JIS
> てとこかな、ググったとこでは
日本語がおかしい。知らないなら適当なこと書くなよ
> システム内部でUnicode対応していようが、Shift-JIS APIしか「使えない」んだったら
人の問題を持ち出すな。
無能が使えないからってなんなんだ
> (それでも内部でUnicodeだろうがShift-JISがデフォのようだけど)
根拠は?日本語以外の国があるのしらんの?w
> 日本語に限っては、システムエンコーディングがUTF-8対応になったのはつい最近、当然それ以前はShift-JIS
> てとこかな、ググったとこでは
日本語がおかしい。知らないなら適当なこと書くなよ
> システム内部でUnicode対応していようが、Shift-JIS APIしか「使えない」んだったら
人の問題を持ち出すな。
無能が使えないからってなんなんだ
> (それでも内部でUnicodeだろうがShift-JISがデフォのようだけど)
根拠は?日本語以外の国があるのしらんの?w
567デフォルトの名無しさん
2020/07/02(木) 16:07:07.26ID:ACoXsYjy Windows UTF-8 ベータ
知らないのはどっちかなとしか思えないw
知らないのはどっちかなとしか思えないw
568デフォルトの名無しさん
2020/07/02(木) 16:13:26.48ID:ACoXsYjy ああ、
システムエンコーディングがUTF-8対応になったのはつい最近、日本語だとそれ以前はシステムエンコーディングはShift-JIS
だよ。すまんなw
システムエンコーディングがUTF-8対応になったのはつい最近、日本語だとそれ以前はシステムエンコーディングはShift-JIS
だよ。すまんなw
569デフォルトの名無しさん
2020/07/02(木) 21:31:15.20ID:9cYvmHwP アホだな。
それはUnicodeに対応してないアプリ用のエンコーディングに
UTF-8が使えるようになったのが最近なだけだろ
システムエンコーディングが9x用アプリのための設定のことだって知らないんだろうな
それはUnicodeに対応してないアプリ用のエンコーディングに
UTF-8が使えるようになったのが最近なだけだろ
システムエンコーディングが9x用アプリのための設定のことだって知らないんだろうな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★2 [お断り★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★6 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 高市「中国とは安定的な関係を続けたい」習近平「☺」高市「台湾有事は日本有事!自衛隊を投入!」習近平「は?」 [165981677]
- 【急募】高市が来年いそうな場所 [237216734]
- 【悲報】高市早苗さん、もう辞職しか選択肢がない… [271912485]
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 【悲報】高市早苗、日本の仕組み上今週金曜日までに辞めないと本当に全てが手遅れになるがそうなると在任期間30日の新記録 [517791167]
