シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
探検
シェルスクリプト総合 その33
レス数が1000を超えています。これ以上書き込みはできません。
2020/03/23(月) 01:12:30.31ID:TYte82vJ
2020/03/23(月) 01:13:11.44ID:TYte82vJ
・特記なき場合、POSIX準拠シェルが既定です(古きBourneシェルはほぼ絶滅しました)
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
参考 https://unix.stackexchange.com/questions/145522/
特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
参考 https://en.wikipedia.org/wiki/POSIX
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
#!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです
・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します
Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです
Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html
Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html
歴史的資料 https://www.in-ulm.de/~mascheck/
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ)
・シェル芸はシェルスクリプトとは異なります
・シェルスクリプトのことをシェルってゆうな
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
参考 https://unix.stackexchange.com/questions/145522/
特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
参考 https://en.wikipedia.org/wiki/POSIX
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
#!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです
・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します
Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです
Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html
Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html
歴史的資料 https://www.in-ulm.de/~mascheck/
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ)
・シェル芸はシェルスクリプトとは異なります
・シェルスクリプトのことをシェルってゆうな
2020/03/23(月) 01:14:49.56ID:TYte82vJ
関連スレ
【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/l50
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/l50
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
2020/03/23(月) 16:11:26.05ID:urYmb4Ir
タコシェルが一番好きです。なぜならおいしいから。
2020/03/23(月) 21:51:18.74ID:gNyotYW5
>>1 乙
ところで早速の質問なんだけど,GNU Bashの履歴展開に関して,
<<. cat |
&#
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「&」になるのと,
<<. cat |
#&
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「|」になるのって,
バグ?仕様?
ちなみに履歴展開「!!」の値は正常(つまり直前のコマンドライン全体に復元される)だし,
ヒアドキュメントの内容が&xやx&だったりした場合は
期待通りの挙動(すなわち最後の引数,この場合は「cat」)になる。
ところで早速の質問なんだけど,GNU Bashの履歴展開に関して,
<<. cat |
&#
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「&」になるのと,
<<. cat |
#&
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「|」になるのって,
バグ?仕様?
ちなみに履歴展開「!!」の値は正常(つまり直前のコマンドライン全体に復元される)だし,
ヒアドキュメントの内容が&xやx&だったりした場合は
期待通りの挙動(すなわち最後の引数,この場合は「cat」)になる。
2020/03/24(火) 02:17:57.55ID:cu1HFh78
catコマンドがあるのにdogコマンドってないんですか?
気になります。
気になります。
2020/03/24(火) 03:33:10.76ID:Do7E3fIs
tac コマンドがあるよ
2020/03/24(火) 03:35:04.91ID:UBy3gEYu
>>6
wachdog
wachdog
2020/03/24(火) 03:35:15.65ID:UBy3gEYu
t忘れた
2020/03/24(火) 07:10:36.15ID:fj9Tix3R
私は可愛い猫と女の子を見ていたいです。
I want to watch girl with cute cat.
I want to watch girl with cute cat.
2020/03/24(火) 11:34:18.79ID:0MDW2qu9
>>10
短い文なのに英語力の低さがダダ漏れ
短い文なのに英語力の低さがダダ漏れ
2020/03/26(木) 01:44:53.53ID:1qTCm9gt
touchやcatみたいに本来とは違う用途で使われるコマンドって他にもあるんだろうか
mvでリネームも最初は不可解だったが
mvでリネームも最初は不可解だったが
2020/03/26(木) 08:26:08.90ID:cRYr3Jpu
>>12
どんな使い方だ?
どんな使い方だ?
2020/03/26(木) 09:12:09.34ID:dMO0q1U3
触るだけだったのに作ってしまう
猫だったのに
猫だったのに
2020/03/26(木) 09:30:11.06ID:n14BBjo0
結合結果を出力するものだが単独ファイルの中身を表示するのに使うとか
2020/03/26(木) 10:06:49.81ID:q5TlNmdE
touchは?
2020/03/26(木) 10:13:00.02ID:dMO0q1U3
タッチは触るツールやろ
18デフォルトの名無しさん
2020/03/26(木) 10:36:23.24ID:SHCpGffT >>5
これ分かる方いらっしゃいますか。
これ分かる方いらっしゃいますか。
2020/03/26(木) 10:50:22.02ID:dMO0q1U3
履歴展開はインタラクティブシェルが行う
シェルスクリプト実行前の処理だと思ってるので興味がないw
シェルスクリプト実行前の処理だと思ってるので興味がないw
2020/03/26(木) 17:59:15.96ID:1qTCm9gt
touchは空ファイルも作れるってだけで本来の用途はタイムスタンプの変更でしょ
catだって中身の連結が本来の用途なんだから
だけど実際はそれ以外でよく使うってお話
catだって中身の連結が本来の用途なんだから
だけど実際はそれ以外でよく使うってお話
2020/03/26(木) 21:46:26.12ID:qqZOjzAR
その昔は C プログラミングをするとき make で管理していた
make はタイムスタンプを見てどれをコンパイルするか決めていたため
touch で手動でどこからインストールするかを制御してた
touch の使い道はその辺かなあ
新しい file を作るなら
$ cp /dev/null file
の方が私の好みではある
make はタイムスタンプを見てどれをコンパイルするか決めていたため
touch で手動でどこからインストールするかを制御してた
touch の使い道はその辺かなあ
新しい file を作るなら
$ cp /dev/null file
の方が私の好みではある
2020/03/27(金) 02:36:47.10ID:0z/Q98b2
新しいファイルを作るなら
:>file
コマンド呼び出ししないから最短で最速!
:>file
コマンド呼び出ししないから最短で最速!
2020/03/27(金) 09:46:48.87ID:fxzLTj3v
touchに代わるいい名前ないかね?
2020/03/27(金) 13:51:42.45ID:dcpdkXkw
別に違和感とか全くないな
open(2)で無かったら作るというのがあるし
open(2)で無かったら作るというのがあるし
2020/03/27(金) 18:04:12.08ID:0RYt9ExS
「touchがよくない名前」って考えてるあたり,
touchの*本来の*目的が「ファイルを新規作成すること」だと思ってそう。
touchの*本来の*目的が「ファイルを新規作成すること」だと思ってそう。
2020/03/27(金) 18:18:20.83ID:5yAR8wFh
$ man touch
TOUCH(1) User Commands TOUCH(1)
NAME
touch - change file timestamps
TOUCH(1) User Commands TOUCH(1)
NAME
touch - change file timestamps
27デフォルトの名無しさん
2020/03/27(金) 19:25:21.80ID:zXBqI+VJ 唾を付けておくという表現が英語にあれば
spitだろう。
spitだろう。
2020/03/27(金) 20:52:54.59ID:OSmxssGw
お願いtouch touch ここにtouch
29デフォルトの名無しさん
2020/03/28(土) 00:10:04.43ID:UOUptx4u >>22
>file
>file
2020/03/28(土) 10:24:50.05ID:KzFz1ENP
>>29
それPOSIX準拠?
それPOSIX準拠?
2020/03/28(土) 13:22:16.30ID:KzFz1ENP
算術展開 $(()) って、代入文が使えるんだな。
ループ廻すときに,i=$((i + 1))っていう増分と$iの値の判定を別々にやってたのが,
$((i += 1))という値を判定するだけで済むとは。
ループ廻すときに,i=$((i + 1))っていう増分と$iの値の判定を別々にやってたのが,
$((i += 1))という値を判定するだけで済むとは。
2020/03/28(土) 14:59:32.82ID:Bw1KM2rM
2020/03/28(土) 15:06:39.27ID:Bw1KM2rM
あと $((i = 1)) とか $((i++)) とかも使えるよ
注意点としては
i=0
while [ "$i" -lt 100 ]; do は iは0から始まるが
while [ $((i+=)) -lt 100 ]; do だとiは1からになるって所だな
注意点としては
i=0
while [ "$i" -lt 100 ]; do は iは0から始まるが
while [ $((i+=)) -lt 100 ]; do だとiは1からになるって所だな
34デフォルトの名無しさん
2020/03/28(土) 15:16:54.38ID:KzFz1ENP >>33
$((i++))という書き方は,少なくともPOSIXでは保証されてない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
$((i++))という書き方は,少なくともPOSIXでは保証されてない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
2020/03/28(土) 16:41:52.19ID:55WldctP
2020/03/28(土) 16:49:31.86ID:KzFz1ENP
>>35
本当です。
2.6.4 Arithmetic Expansion
... The arithmetic expression shall be processed according to the rules given in Arithmetic Precision and Operations,
with the following exceptions:
* The sizeof() operator and the prefix and postfix "++" and "--" operators are not required.
ちゃんと読みましょう。
本当です。
2.6.4 Arithmetic Expansion
... The arithmetic expression shall be processed according to the rules given in Arithmetic Precision and Operations,
with the following exceptions:
* The sizeof() operator and the prefix and postfix "++" and "--" operators are not required.
ちゃんと読みましょう。
2020/03/28(土) 16:58:42.30ID:tKpZ/PKG
あるけど?
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap01.html#tag_17_01_02_01
Operation
postfix ++
postfix --
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap01.html#tag_17_01_02_01
Operation
postfix ++
postfix --
2020/03/28(土) 16:59:07.56ID:jVMyeik2
嘘つくのは犯罪やぞ
2020/03/28(土) 17:35:25.59ID:KzFz1ENP
2020/03/28(土) 18:03:30.94ID:LpzVEuiv
馬鹿を相手にお疲れ様ですw
2020/03/28(土) 20:22:28.93ID:jP19sx2a
2020/03/28(土) 20:43:09.24ID:KzFz1ENP
ちなみに
$((i+=1))って書き方はPOSIXでは保証されてる……筈だけど,
↑上にも書き込んでた人がいるように,一部シェルで動かないことがあるので使わんほうがいい。
$((i+=1))って書き方はPOSIXでは保証されてる……筈だけど,
↑上にも書き込んでた人がいるように,一部シェルで動かないことがあるので使わんほうがいい。
2020/03/28(土) 21:28:16.71ID:DvmhhhVM
2020/03/28(土) 21:34:35.34ID:DvmhhhVM
2020/03/29(日) 23:36:16.48ID:xy0u8Cju
2020/03/29(日) 23:56:55.01ID:vQZcBwwl
>反論を潰しに行っていない/無視)して自分の主張を繰り返した点
>指示/説明下手
ここだよ。お前の主題はここだろうが、そんな前置きではなく
>指示/説明下手
ここだよ。お前の主題はここだろうが、そんな前置きではなく
2020/03/30(月) 00:04:56.52ID:E+6h8qU6
この会話のならなさはなんとかの一つ覚えのようにURL貼った本人ではないか?w
2020/03/30(月) 00:11:53.59ID:quKNoAsp
35 のレスが「本当に?」だけで URL がなかった場合の 36 の返は申し分ないよ
逆に URL だけだったら 36 のような返しはしなかっただろう?
35 のURL 側を潰さなかった/35 の URLをあたかも無視したような解が下手だと言っている
逆に URL だけだったら 36 のような返しはしなかっただろう?
35 のURL 側を潰さなかった/35 の URLをあたかも無視したような解が下手だと言っている
2020/03/30(月) 00:25:17.30ID:KcLwWOXD
なに言ってるのこのシトw
2020/03/30(月) 00:27:11.66ID:quKNoAsp
いつもレスバに負けるから ID 変えて書き込む癖が抜けてないようですね
2020/03/30(月) 00:33:42.38ID:KcLwWOXD
>>35 のURLは
Arithmetic Precision and Operations
>>34のURL先であるが、読んでいないようなので抜粋してくれた>>36で、
The arithmetic expression shall be processed according to the rules given in >>> Arithmetic Precision and Operations <<<,
with the following exceptions:
>>> * The sizeof() operator and the prefix and postfix "++" and "--" operators are not required. <<<
>>35の疑問疑義を否定している。URLがあろうがなかろうが関係ないなとしか思えない、下の>>>からでも
レスバwなるほどねww
Arithmetic Precision and Operations
>>34のURL先であるが、読んでいないようなので抜粋してくれた>>36で、
The arithmetic expression shall be processed according to the rules given in >>> Arithmetic Precision and Operations <<<,
with the following exceptions:
>>> * The sizeof() operator and the prefix and postfix "++" and "--" operators are not required. <<<
>>35の疑問疑義を否定している。URLがあろうがなかろうが関係ないなとしか思えない、下の>>>からでも
レスバwなるほどねww
2020/03/30(月) 00:49:16.05ID:quKNoAsp
書いてある内容は正しいって一番最初にいってるんでそこ何度説明されてもね
平行線みたいなんでやめるね
平行線みたいなんでやめるね
2020/03/30(月) 00:59:54.39ID:KcLwWOXD
2020/03/30(月) 01:46:38.97ID:+SXbvp8E
ガガイ
2020/03/30(月) 17:34:28.23ID:wadsBXpT
エイプリールフールはまだだぞ
56デフォルトの名無しさん
2020/04/02(木) 14:38:12.64ID:BA8GpIv4 Windows 10, WSL, Ubuntu 18.04 に、Ruby のバージョンマネージャーのrbenv を、
rbenv-installer を使ってインストールしたのですが、
https://github.com/rbenv/rbenv-installer/blob/master/bin/rbenv-installer
これの34行目について、
rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
これを、bash スクリプト内に書いて、スクリプトを実行すると、
xxx="$(command -v rbenv)"
xxx は、~/.rbenv/bin/rbenv とパスが入り、
これを端末で直接実行すると、
xxx は、rbenv となって、パスが入らない!
bash スクリプト内に書いて、それを実行した時と、
端末に直接入力した時では、結果が異なってしまう!
rbenv-installer を使ってインストールしたのですが、
https://github.com/rbenv/rbenv-installer/blob/master/bin/rbenv-installer
これの34行目について、
rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
これを、bash スクリプト内に書いて、スクリプトを実行すると、
xxx="$(command -v rbenv)"
xxx は、~/.rbenv/bin/rbenv とパスが入り、
これを端末で直接実行すると、
xxx は、rbenv となって、パスが入らない!
bash スクリプト内に書いて、それを実行した時と、
端末に直接入力した時では、結果が異なってしまう!
2020/04/02(木) 14:41:15.78ID:o0fN+e0O
2020/04/02(木) 19:04:30.73ID:mH0OQczo
5956
2020/04/02(木) 21:38:05.69ID:BA8GpIv4 端末で、command -V rbenv, type rbenv を入力したら、
両方とも、rbenv という関数が表示された!
でも、 which rbenv と入力すると、
~/.rbenv/bin/rbenv と、ちゃんとパスが返ってくるけど
rbenv ()
{
local command;
command="${1:-}";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "$(rbenv "sh-$command" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
esac
}
両方とも、rbenv という関数が表示された!
でも、 which rbenv と入力すると、
~/.rbenv/bin/rbenv と、ちゃんとパスが返ってくるけど
rbenv ()
{
local command;
command="${1:-}";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "$(rbenv "sh-$command" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
esac
}
2020/04/02(木) 22:11:52.53ID:mH0OQczo
which -- locate a program file in the user's path
command - execute a simple command
-v
Write a string to standard output that indicates the pathname or command that will be used by the shell, in the current shell execution environment (see Shell Execution Environment), to invoke command_name, but do not invoke command_name
以下省略するが読め
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
command - execute a simple command
-v
Write a string to standard output that indicates the pathname or command that will be used by the shell, in the current shell execution environment (see Shell Execution Environment), to invoke command_name, but do not invoke command_name
以下省略するが読め
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
2020/04/03(金) 12:01:03.87ID:liYJ7DEW
ちゃんとリンク,引用までしてあげて親切だなぁ。
黙ってNGすりゃいいのに。
黙ってNGすりゃいいのに。
2020/04/04(土) 12:25:48.39ID:teSfSC9d
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ipcs.html
ipcsコマンドとかのXSI通信系コマンドを使ったことある人いる?
どういう場面で使ったのか知りたい。
ipcsコマンドとかのXSI通信系コマンドを使ったことある人いる?
どういう場面で使ったのか知りたい。
2020/04/04(土) 13:26:30.10ID:x+avwAnv
IPC使ったことがないとしか思えない。XSIに限らず他のIPCすらも
IPC使ったことがあるならそんなの聞かないだろう
IPC使ったことがあるならそんなの聞かないだろう
2020/04/05(日) 08:45:21.55ID:UxA0hjaO
使ったことがないから聞いてるんだろうに使ったことがないとしか思えないとはとんちかな
2020/04/05(日) 13:50:07.19ID:TlWLT3Mj
無知だからしょうがないんだろうがとんちんかんすぎ
シェルスクリプトとは関係ない、IPC使う場合の場面に決まってるだろってことだよ
シェルスクリプトとは関係ない、IPC使う場合の場面に決まってるだろってことだよ
2020/04/05(日) 19:18:45.75ID:hACSBNMn
誰かawkの互換性についてまとめてる人いない?
どれだけの実装があって、POSIXにどれだけちゃんと準拠してるとのとか
awkはどのLinuxにも入ってるって前提でいいのか?とか
どれだけの実装があって、POSIXにどれだけちゃんと準拠してるとのとか
awkはどのLinuxにも入ってるって前提でいいのか?とか
2020/04/06(月) 18:02:52.46ID:h+IdnJJv
まずは隗より始めよ
68デフォルトの名無しさん
2020/04/07(火) 11:20:12.53ID:OVrvsyTh 脱ケージ活動 ワロタw
(ケージ=鳥かご、おり、捕虜収容所)
まあそうなるよね。シェルスクリプト(笑)
ハンズラボとユニケージのあゆみ
https://www.hands-lab.com/tech/entry/5600.html
突然ですが、ユニケージ開発手法というのものをご存知でしょうか?
→ 詳しくは弊社の以下記事にて説明しております。
ハンズラボが採用しているユニケージという謎テクノロジーについて 第1回
弊社でのユニケージの現在
そんなユニケージですが現在のハンズラボでは技術的負債としての認識が強いです。
ユニケージからの脱却、通称脱ケージ活動は現在社を上げた取り組みの一つです。
負債の解消に向けて、様々な取り組みを実施しています。
(ケージ=鳥かご、おり、捕虜収容所)
まあそうなるよね。シェルスクリプト(笑)
ハンズラボとユニケージのあゆみ
https://www.hands-lab.com/tech/entry/5600.html
突然ですが、ユニケージ開発手法というのものをご存知でしょうか?
→ 詳しくは弊社の以下記事にて説明しております。
ハンズラボが採用しているユニケージという謎テクノロジーについて 第1回
弊社でのユニケージの現在
そんなユニケージですが現在のハンズラボでは技術的負債としての認識が強いです。
ユニケージからの脱却、通称脱ケージ活動は現在社を上げた取り組みの一つです。
負債の解消に向けて、様々な取り組みを実施しています。
69デフォルトの名無しさん
2020/04/07(火) 14:58:20.98ID:rrWnJIGn >>62
共有メモリとかセマフォとかメッセージキューとかの確認で使ったことあるよ。そういうのを使うプログラムのデバッグ中とか動作確認でな。
共有メモリとかセマフォとかメッセージキューとかの確認で使ったことあるよ。そういうのを使うプログラムのデバッグ中とか動作確認でな。
2020/04/07(火) 16:39:21.35ID:6BPG1jDR
71デフォルトの名無しさん
2020/04/07(火) 16:59:54.57ID:7MZHT+wD2020/04/07(火) 17:06:46.66ID:6BPG1jDR
プレゼンテーションみてみ「素人が作った」だから
2020/04/07(火) 17:21:07.14ID:6BPG1jDR
juniとかsm1,sm2,sm3,sm4,sm5(5までかな?w)、ハンズラボ内製かと思ったら、ユニケージ元が提供してるヤツかw
ダメすぎに見えるな見えるだろうな、他の言語メンテを考えて開発してるのから見たら
ダメすぎに見えるな見えるだろうな、他の言語メンテを考えて開発してるのから見たら
2020/04/07(火) 17:31:04.43ID:6BPG1jDR
いや、プレゼンテーションにある、sm2,sm4,sm5だけなのか
1,3が欠番、2/4/5にちょっとは深い意味があるのか?
他でも命名がある意味無茶苦茶だなあ、仕事として使おうとは全く思えない
1,3が欠番、2/4/5にちょっとは深い意味があるのか?
他でも命名がある意味無茶苦茶だなあ、仕事として使おうとは全く思えない
2020/04/07(火) 18:06:03.96ID:OVrvsyTh
>>70
Windows以前はMS-DOSが使われていた。
GUIなんてものはなく、コマンドプロンプトと
バッチファイルを触るのがパソコンを使う第一歩だった
これはLinuxにも当てはまる。Linuxを使う第一歩は
シェルスクリプトを触ること。GUIだけならWindowsを使えばいい。
Linuxを使うという第一歩はシェルスクリプトを触ることになる。
その第一歩の知識だけで仕事をした結果。
シェルスクリプトが悪いのではなく
第一歩の知識だけで仕事をした結果
知識を得る努力をせずに、今の知識で努力した結果
結局の所知識不足なので何しても破綻する
Windows以前はMS-DOSが使われていた。
GUIなんてものはなく、コマンドプロンプトと
バッチファイルを触るのがパソコンを使う第一歩だった
これはLinuxにも当てはまる。Linuxを使う第一歩は
シェルスクリプトを触ること。GUIだけならWindowsを使えばいい。
Linuxを使うという第一歩はシェルスクリプトを触ることになる。
その第一歩の知識だけで仕事をした結果。
シェルスクリプトが悪いのではなく
第一歩の知識だけで仕事をした結果
知識を得る努力をせずに、今の知識で努力した結果
結局の所知識不足なので何しても破綻する
2020/04/07(火) 18:07:43.92ID:7MZHT+wD
日本語不自由すぎやろw
言語関係なく組織の人的負債になるタイプ
言語関係なく組織の人的負債になるタイプ
2020/04/07(火) 18:14:36.81ID:6BPG1jDR
2020/04/07(火) 20:33:27.68ID:gCNEshtB
>>69
ありがとう。
ありがとう。
2020/04/07(火) 22:56:47.46ID:OVrvsyTh
>>77
> そんなこと言ってるからLinuxが普及しないんだよw
そのとおりだと思うが?正確には俺が言ったから普及しないんじゃなくくて
Linuxがそういう状態であるから普及しない。俺はそのことを言っただけ。
俺が言うのをやめたところで、Linuxが改善されないと普及しないよw
更に言うならLinuxを普及させたければ、ソフトウェアするんじゃなくて
いい営業部隊を雇うことだよ。雇う金を出せないなら永遠に無理ってことだけどな。
オープンソースなんだから営業を雇う金なんて集まらないって言うけど、
そもそもオープンソースにしたのは誰かに言われたのではなく
自分で決めたんだろうから、文句言うなって話だがな
> そんなこと言ってるからLinuxが普及しないんだよw
そのとおりだと思うが?正確には俺が言ったから普及しないんじゃなくくて
Linuxがそういう状態であるから普及しない。俺はそのことを言っただけ。
俺が言うのをやめたところで、Linuxが改善されないと普及しないよw
更に言うならLinuxを普及させたければ、ソフトウェアするんじゃなくて
いい営業部隊を雇うことだよ。雇う金を出せないなら永遠に無理ってことだけどな。
オープンソースなんだから営業を雇う金なんて集まらないって言うけど、
そもそもオープンソースにしたのは誰かに言われたのではなく
自分で決めたんだろうから、文句言うなって話だがな
80デフォルトの名無しさん
2020/04/07(火) 23:09:11.40ID:rrWnJIGn LinuxはPCのデスクトップ環境では伸びなかったがその他では使われまくってるよな。
PCと似たような使われ方もするAndroidのベースOSがLinuxだし。もうこれだけでも恐ろしいぐらいの普及率だ。
その他薄型テレビだのネットワーク機器だのそこらじゅうで使われている。
PCと似たような使われ方もするAndroidのベースOSがLinuxだし。もうこれだけでも恐ろしいぐらいの普及率だ。
その他薄型テレビだのネットワーク機器だのそこらじゅうで使われている。
81デフォルトの名無しさん
2020/04/07(火) 23:09:41.77ID:5NuNjNr6 Linuxが普及しないのはオープンソースを言い訳に使うから。byチコ
2020/04/07(火) 23:33:03.61ID:OVrvsyTh
Linux(UNIX)のコマンドとバッチファイルのコマンドは
どちらもCLIだがスタイルがぜんぜん違う
例えば、echoを引数無しで実行すると
ECHO は <ON> です。と表示される。
もしバッチファイルのコマンドのスタイルが
Linux(UNIX)に混じったらとても使いづらくなるだろう
一貫性ある形で統一することは重要。Linux(UNIX)は
GUIでこの統一に失敗した。
どちらもCLIだがスタイルがぜんぜん違う
例えば、echoを引数無しで実行すると
ECHO は <ON> です。と表示される。
もしバッチファイルのコマンドのスタイルが
Linux(UNIX)に混じったらとても使いづらくなるだろう
一貫性ある形で統一することは重要。Linux(UNIX)は
GUIでこの統一に失敗した。
2020/04/08(水) 02:12:11.53ID:IyPQ81Bn
じじいの知識自慢
2020/04/08(水) 02:25:50.33ID:WKxansXY
GUI環境を好みで選べるのが良いところじゃん
GNOME
KDE
Xfce
LXQT
MATE
等々
GNOME
KDE
Xfce
LXQT
MATE
等々
2020/04/08(水) 09:01:22.17ID:TEO49enz
良いところがあれば、世界で一位になれる。
これはマクドナルドに味で勝負した高級ハンバーガー店が
惨敗するまでの悲しいストーリーである。
これはマクドナルドに味で勝負した高級ハンバーガー店が
惨敗するまでの悲しいストーリーである。
2020/04/08(水) 09:40:49.64ID:RSqCZ6so
オープンソースって一般人からしたら負担だけどな
粗造乱造が基本だから目当ての物を探すのに苦労する
模倣のくせに機能不足だとか洗練されていない外観だとか心当たりあるだろ
何か意見すれば「自分で」で逃げるしさ
呆れられたいのか誇られたいのかはっきりしな
お仕着せのappleと無法地帯のLinuxと両極端なんだよ
粗造乱造が基本だから目当ての物を探すのに苦労する
模倣のくせに機能不足だとか洗練されていない外観だとか心当たりあるだろ
何か意見すれば「自分で」で逃げるしさ
呆れられたいのか誇られたいのかはっきりしな
お仕着せのappleと無法地帯のLinuxと両極端なんだよ
2020/04/08(水) 09:52:21.83ID:/PQASvbd
意訳:俺の好みじゃない。Windowsがいちばん
2020/04/08(水) 09:58:42.93ID:gjFvYWAv
ただWindowsを使ってて知ってることが多いってだけだな
単にそれで基準がWindows
それ以上手がかかってもダメだし手がかけられないとダメ、
Windowsで知ったことの範囲でWindowsの手順でできなきゃダメってだけ
単にそれで基準がWindows
それ以上手がかかってもダメだし手がかけられないとダメ、
Windowsで知ったことの範囲でWindowsの手順でできなきゃダメってだけ
2020/04/08(水) 10:46:28.90ID:kH2GeAXz
Linuxと言うかオープンソース界隈でいやなのは
先駆者が先輩面したり初心者を馬鹿にして
さも自分がすごいんだと言いたげなところかなあ
これと対極をなすのがスマホとかなんだけど
知り合いの若いのにアプリの使い方聞いてみ?
親切に教えてくれるぞ
要するに俺はLinuxを知ってる!
オープンソースを知ってる!
でも誰も褒めてくれないから
新参者がきたら牢名主のように
小言を言い続けてやると思ってそうなところ
先駆者が先輩面したり初心者を馬鹿にして
さも自分がすごいんだと言いたげなところかなあ
これと対極をなすのがスマホとかなんだけど
知り合いの若いのにアプリの使い方聞いてみ?
親切に教えてくれるぞ
要するに俺はLinuxを知ってる!
オープンソースを知ってる!
でも誰も褒めてくれないから
新参者がきたら牢名主のように
小言を言い続けてやると思ってそうなところ
2020/04/08(水) 10:47:16.11ID:kH2GeAXz
まあ手に入れた数少ないスキルだからしゃーないか
2020/04/08(水) 12:06:02.73ID:+6aWDKKq
俺にLinuxや他のOSSを教えてくれた人はそんな人じゃなかったな。
懇切丁寧に教育してくれた。
寧ろ大学やらでWindowsやExcelの使い方を指導してた教員のほうが態度が酷かった。
まぁ,どういう人に恵まれるかで,その「教えた対象」の評価すら変わるってのは,ちょっと非論理的だけど,
かく言う俺も,多分上で話した教員のせいで,Microsoft製品を色眼鏡で見てしまうきらいがある。
懇切丁寧に教育してくれた。
寧ろ大学やらでWindowsやExcelの使い方を指導してた教員のほうが態度が酷かった。
まぁ,どういう人に恵まれるかで,その「教えた対象」の評価すら変わるってのは,ちょっと非論理的だけど,
かく言う俺も,多分上で話した教員のせいで,Microsoft製品を色眼鏡で見てしまうきらいがある。
2020/04/08(水) 13:15:43.23ID:oh4YVJIM
>>88
> ただWindowsを使ってて知ってることが多いってだけだな
だから営業部隊の話につながる。
使ってもらうにはどうしたらいいか?答えは宣伝だよ。
パソコン屋に置いてもらうネットやテレビで宣伝する。
いずれも金がかかる方法だ。だからオープンソースいう
選択をした時点で積んでいるんだよ。自分で自ら王手されに行った。
いや王手がだめって言ってるんじゃないよ。
相手(利用者)にとってはいい捕虜だから
> ただWindowsを使ってて知ってることが多いってだけだな
だから営業部隊の話につながる。
使ってもらうにはどうしたらいいか?答えは宣伝だよ。
パソコン屋に置いてもらうネットやテレビで宣伝する。
いずれも金がかかる方法だ。だからオープンソースいう
選択をした時点で積んでいるんだよ。自分で自ら王手されに行った。
いや王手がだめって言ってるんじゃないよ。
相手(利用者)にとってはいい捕虜だから
2020/04/08(水) 13:57:03.92ID:247C/Fba
Linuxが普及してない世界線でシェルスクリプト書いてるやつもおるんやなw
2020/04/08(水) 14:19:48.18ID:5a3Kp3Hv
2020/04/08(水) 15:36:59.25ID:WKxansXY
変な位置で改行するやつ多いな
みんな同じ環境で見てると思ってるんだろうな
みんな同じ環境で見てると思ってるんだろうな
2020/04/08(水) 15:57:31.62ID:oh4YVJIM
同じ環境で見てるとは思ってないが、
最低横80文字(笑)ぐらいで見てると思ってる
スマホぐらいだろ?そのスマホで長い文字が読みづらいなら
それはサイトの仕様が悪いだけ
最低横80文字(笑)ぐらいで見てると思ってる
スマホぐらいだろ?そのスマホで長い文字が読みづらいなら
それはサイトの仕様が悪いだけ
97デフォルトの名無しさん
2020/04/08(水) 16:04:41.38ID:snKRM3SL マックをLinuxに加えれば結構シェアが取れていると思うぞ。
2020/04/08(水) 16:10:53.92ID:oh4YVJIM
MacでLinux用バイナリがそのまま動かないなら、Linuxとは認められません
2020/04/08(水) 16:18:00.91ID:kuvoBLk0
なにを主張したいのか
なにを否定したいのか
シェルスクリプトと全然関係ないことには変わりなさそう
なにを否定したいのか
シェルスクリプトと全然関係ないことには変わりなさそう
100デフォルトの名無しさん
2020/04/08(水) 16:28:47.40ID:WKxansXY サーバーOSシェアはLinuxがダントツだからな
WSLの環境作るのも楽になったしWindowsは単なるコンテナになった
WSLの環境作るのも楽になったしWindowsは単なるコンテナになった
101デフォルトの名無しさん
2020/04/08(水) 17:31:57.45ID:1eDcIZ82 普通にwin上でbashです
102デフォルトの名無しさん
2020/04/08(水) 17:35:44.13ID:oh4YVJIM > Windowsは単なるコンテナになった
これは「すごいこと」という意味だよね?
Linuxも単なるコンテナになることが出来る。
コンテナになれるというのはモダンなOSの必須条件
これは「すごいこと」という意味だよね?
Linuxも単なるコンテナになることが出来る。
コンテナになれるというのはモダンなOSの必須条件
103デフォルトの名無しさん
2020/04/08(水) 18:41:56.01ID:q66UKRIK 無理やりなレス。自覚は無さそうだが
104デフォルトの名無しさん
2020/04/08(水) 18:45:47.99ID:oh4YVJIM 単なるコンテナになったの意味がわからんだけだよw
クラウドで散々仮想マシンでLinuxが動いてるのに、
Windowsは仮想マシンで動かせばいいとか皮肉の意味で言うやつもいるし。
使いたいものだからこそ、仮想マシンやコンテナで使うわけで
むしろ逆に、Windowsさえ使えれば、ホストはなんでもいいということなんだが
クラウドで散々仮想マシンでLinuxが動いてるのに、
Windowsは仮想マシンで動かせばいいとか皮肉の意味で言うやつもいるし。
使いたいものだからこそ、仮想マシンやコンテナで使うわけで
むしろ逆に、Windowsさえ使えれば、ホストはなんでもいいということなんだが
105デフォルトの名無しさん
2020/04/08(水) 18:54:28.79ID:WKxansXY でっていう
106デフォルトの名無しさん
2020/04/08(水) 19:17:03.62ID:+6aWDKKq なんか事実とか関係なく,
「議論に勝てばいいや」の精神でレスしてる奴がいるな。
いや,もはや議論と呼ぶにも烏滸がましい,口喧嘩か。
いいかげんスレチな話題は収めようぜ?
「議論に勝てばいいや」の精神でレスしてる奴がいるな。
いや,もはや議論と呼ぶにも烏滸がましい,口喧嘩か。
いいかげんスレチな話題は収めようぜ?
107デフォルトの名無しさん
2020/04/08(水) 19:29:33.52ID:oh4YVJIM >>106
では言い出しっぺからどうぞ
では言い出しっぺからどうぞ
108デフォルトの名無しさん
2020/04/08(水) 19:32:17.43ID:+3Ip4bre ∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
109デフォルトの名無しさん
2020/04/10(金) 00:47:25.53ID:na8GHWZ/ Apple「全部こちらが用意したものだけ使ってろ改造すんな」
Microsoft「OSだけ売るから自作なり出来合いなり好きにしろ」
Linux「OSはタダでやるからそれ以外は自分でやれ。改造してもこっち頼るな」
unixとは無縁だがあれの扱いも林檎とどっこいでいいんだよな?一般人は用ないし
Microsoft「OSだけ売るから自作なり出来合いなり好きにしろ」
Linux「OSはタダでやるからそれ以外は自分でやれ。改造してもこっち頼るな」
unixとは無縁だがあれの扱いも林檎とどっこいでいいんだよな?一般人は用ないし
110デフォルトの名無しさん
2020/04/10(金) 06:21:29.88ID:4WnvV4mF × Microsoft「OSだけ売るから、自作なり出来合いなり好きにしろ」
○ Microsoft「OSと開発環境、プラットフォームを提供するから、自作なり出来合いなり好きにしろ」
MSが提供してる開発環境・プラットフォーム
・Visual Studio
・Visual Studio Code
・Azure
・GitHub
・WSL
・Office(マクロ)
・SQL Server
・HyperV
○ Microsoft「OSと開発環境、プラットフォームを提供するから、自作なり出来合いなり好きにしろ」
MSが提供してる開発環境・プラットフォーム
・Visual Studio
・Visual Studio Code
・Azure
・GitHub
・WSL
・Office(マクロ)
・SQL Server
・HyperV
111デフォルトの名無しさん
2020/04/10(金) 09:07:06.52ID:Ixv/fgWK small basicが入ってないぞ
112デフォルトの名無しさん
2020/04/10(金) 10:23:40.16ID:ES+9souz113デフォルトの名無しさん
2020/04/10(金) 11:04:17.67ID:4WnvV4mF >>112
LinuxじゃなくてGNUだろ?
GNUのものはWindowsで何でも使えるようになったぞw
GNU「開発ツールはタダでやるから勝手に使え。OSはまだできてない。」
あとAzureに相当する開発プラットフォームはAppleもLinuxも実現できてない
やってるのはAmazonとGoogleであってLinuxではない
そう考えるとクラウドもOSの機能の一つを完全に実現してるのは
Microsoftだけなんだよな
LinuxじゃなくてGNUだろ?
GNUのものはWindowsで何でも使えるようになったぞw
GNU「開発ツールはタダでやるから勝手に使え。OSはまだできてない。」
あとAzureに相当する開発プラットフォームはAppleもLinuxも実現できてない
やってるのはAmazonとGoogleであってLinuxではない
そう考えるとクラウドもOSの機能の一つを完全に実現してるのは
Microsoftだけなんだよな
114デフォルトの名無しさん
2020/04/10(金) 13:07:14.50ID:CpDDWrVd MS信者がキモい
115デフォルトの名無しさん
2020/04/10(金) 14:26:12.32ID:5gPd6BaW Linuxって企業だったんだwww
116デフォルトの名無しさん
2020/04/10(金) 14:46:54.18ID:ES+9souz めっちゃ突っ掛かってきてワロタ
117デフォルトの名無しさん
2020/04/10(金) 16:00:20.83ID:nukGJGZx118デフォルトの名無しさん
2020/04/10(金) 16:04:50.67ID:vdvhEun4 Linux愛好者?って偏屈だよね
俺Linux知ってるけどお前に教えないワラって感じで性格悪い
そのあたりでLinuxが浸透しない原因
そして今日もMSの株価時価総額1位
俺Linux知ってるけどお前に教えないワラって感じで性格悪い
そのあたりでLinuxが浸透しない原因
そして今日もMSの株価時価総額1位
119デフォルトの名無しさん
2020/04/10(金) 16:26:01.02ID:pLdRSiLY 時価総額の世界第一は違うぞ
第3位のAppleの時価総額はさほど第2位のMicrosoftとさほど変わらんが同等に見てるってことだな、お前は
第3位のAppleの時価総額はさほど第2位のMicrosoftとさほど変わらんが同等に見てるってことだな、お前は
120デフォルトの名無しさん
2020/04/10(金) 16:32:36.01ID:ix9xeN7W マイクロソフト信者やパソコンの大先生のよた話はもういいよ
121デフォルトの名無しさん
2020/04/10(金) 16:50:45.63ID:5/MlN8IX 時価総額世界一はマイクロソフトだぞ?
ずっと前に奪還したって聞いたんだがな
https://stocks.finance.yahoo.co.jp/us/ranking/?kd=4&tm=d
1〜50件 / 6370件中最終更新日時:2020年4月10日7時40分
順位 名称・ティッカー・市場 取引値 前日比・前日差 時価総額 掲示板
1 マイクロソフト [MSFT] - NASDAQ 165.14 (04/09 17:20) +0.01% (+0.01) 1,256,062,603千
2 アップル [AAPL] - NASDAQ 267.99 (04/09 17:20) +0.72% (+1.92) 1,172,584,885千
3 アマゾン・ドット・コム [AMZN] - NASDAQ 2042.76 (04/09 17:20) -0.01% (-0.24) 1,016,907,263千
ずっと前に奪還したって聞いたんだがな
https://stocks.finance.yahoo.co.jp/us/ranking/?kd=4&tm=d
1〜50件 / 6370件中最終更新日時:2020年4月10日7時40分
順位 名称・ティッカー・市場 取引値 前日比・前日差 時価総額 掲示板
1 マイクロソフト [MSFT] - NASDAQ 165.14 (04/09 17:20) +0.01% (+0.01) 1,256,062,603千
2 アップル [AAPL] - NASDAQ 267.99 (04/09 17:20) +0.72% (+1.92) 1,172,584,885千
3 アマゾン・ドット・コム [AMZN] - NASDAQ 2042.76 (04/09 17:20) -0.01% (-0.24) 1,016,907,263千
122デフォルトの名無しさん
2020/04/10(金) 17:11:16.18ID:ix9xeN7W 奪還とか信者きめえ。今の世界第一はサウジアラムコな
そんな会社関係ないIT関係でとか言いそうだが
アホみたく無知を晒すなよ、それもキリリっとかでw
そんな会社関係ないIT関係でとか言いそうだが
アホみたく無知を晒すなよ、それもキリリっとかでw
123デフォルトの名無しさん
2020/04/10(金) 17:11:29.26ID:QxjVipyN スレ違い
124デフォルトの名無しさん
2020/04/10(金) 18:29:49.84ID:5gPd6BaW >>117
アスペかよwww
アスペかよwww
125デフォルトの名無しさん
2020/04/11(土) 10:25:05.95ID:md0SvLvZ × Linuxは使いものにならない
○ Linuxを使いこなせない。
だいたい,シェルスクリプトに関して言えばLinuxなんかのUnixが圧倒的に有利なんだから,
少なくともこのスレでWindowsを讃えまくっても無駄骨だと思います(指摘)。
○ Linuxを使いこなせない。
だいたい,シェルスクリプトに関して言えばLinuxなんかのUnixが圧倒的に有利なんだから,
少なくともこのスレでWindowsを讃えまくっても無駄骨だと思います(指摘)。
126デフォルトの名無しさん
2020/04/11(土) 22:43:08.40ID:7reDkQuk 自炊できない自分を棚にあげて親のメシマズをあげつらう僕ちゃん
127デフォルトの名無しさん
2020/04/11(土) 23:13:07.29ID:OL9J6aZ0 厳密にいうとシェルスクリプトではないのですが、
wsl や cygwin で
$ mv 'テスト' test
とすると
test\r
というファイルができてしまいます。
test
というファイルにするにはどうすればいいですか?
wsl や cygwin で
$ mv 'テスト' test
とすると
test\r
というファイルができてしまいます。
test
というファイルにするにはどうすればいいですか?
128デフォルトの名無しさん
2020/04/12(日) 10:26:07.71ID:3CnLqbrV129デフォルトの名無しさん
2020/04/12(日) 10:44:52.40ID:6aAn44p0 マジなわけねーだろw
130デフォルトの名無しさん
2020/04/12(日) 11:29:32.30ID:kH7j2wOo ls で見ると
'test'$'\r'
というファイルができています
sed とか tr とかいろいろ試しているのですが、\rが取れません。
'test'$'\r'
というファイルができています
sed とか tr とかいろいろ試しているのですが、\rが取れません。
131デフォルトの名無しさん
2020/04/12(日) 11:55:26.80ID:qLm4HprE Windowsだから改行がCRLFになってCRがファイル名として処理されたんだろうね
昔そうなった記憶があるようなないような
普通ならエラーになったような気がするんだけどね
試してないけど名前変えたいだけならGUIでログインしてファイルマネージャで修正できると思う
コマンドラインならESC押しながら補完したらコマンドで触れる有効なファイル名になった気がする
昔そうなった記憶があるようなないような
普通ならエラーになったような気がするんだけどね
試してないけど名前変えたいだけならGUIでログインしてファイルマネージャで修正できると思う
コマンドラインならESC押しながら補完したらコマンドで触れる有効なファイル名になった気がする
132デフォルトの名無しさん
2020/04/12(日) 11:59:52.48ID:qLm4HprE CRLFのCRが原因だろうけど
シェルスクリプトなら改行コード変換してみるとか
ターミナルならTeraTerm使うとかでしのいで
根本対処は後にした方がいいと思う
うちはcygwinの環境もうないしWSLも使わんわ
もっぱら仮想環境かラズパイ
昔仕事でcygwin使ってたころ
いざUnixやLinuxの実機に移したら
動かなくて痛い思いした覚えがある
シェルスクリプトなら改行コード変換してみるとか
ターミナルならTeraTerm使うとかでしのいで
根本対処は後にした方がいいと思う
うちはcygwinの環境もうないしWSLも使わんわ
もっぱら仮想環境かラズパイ
昔仕事でcygwin使ってたころ
いざUnixやLinuxの実機に移したら
動かなくて痛い思いした覚えがある
133デフォルトの名無しさん
2020/04/12(日) 12:03:30.62ID:KtYGSQjQ stty igncr
mv $'test\r' test
Windows/MS-DOSなテキストファイル(CRLFが改行)に書いて実行したとか
mv $'test\r' test
Windows/MS-DOSなテキストファイル(CRLFが改行)に書いて実行したとか
134デフォルトの名無しさん
2020/04/12(日) 12:13:43.08ID:KtYGSQjQ ふつーーーーのTeminalアプリでは igncr にしちゃうと改行できなくなんのか
WindowsのCommand Promptからbash起動でも同じく改行できなくなんな
>>127は本当にインタラクティブでやったのか?
WindowsのCommand Promptからbash起動でも同じく改行できなくなんな
>>127は本当にインタラクティブでやったのか?
135デフォルトの名無しさん
2020/04/12(日) 12:39:56.00ID:KtYGSQjQ 送り側(Terminalアプリ)の改行はCR、受け側はCRをLFに変換してなのね
stty のそこらあたりのデフォ(-inlcr -igncr icrnl)からは。WSLでも同じ
stty igncr するとリターンキー叩いても無視されて何もできなくなるが、リターンキーの代わりにControl-JでLF送ればいいだけなのね
stty のそこらあたりのデフォ(-inlcr -igncr icrnl)からは。WSLでも同じ
stty igncr するとリターンキー叩いても無視されて何もできなくなるが、リターンキーの代わりにControl-JでLF送ればいいだけなのね
136127
2020/04/12(日) 13:16:51.20ID:kH7j2wOo シェルスクリプトでやっています。
mv "テスト" test
stty igncr
mv '$test'\r' test
というファイルを作って
$ bash ,/file
とやると
cannot execute binary file: Exec format error
とでます。インタラクティブでやらないとできないんでしょうか?
mv "テスト" test
stty igncr
mv '$test'\r' test
というファイルを作って
$ bash ,/file
とやると
cannot execute binary file: Exec format error
とでます。インタラクティブでやらないとできないんでしょうか?
137デフォルトの名無しさん
2020/04/12(日) 13:32:38.13ID:MICQg9zq そのシェルスクリプトの改行コードがCRLFになってるんじゃないですか、というのと
mv '$test'\r' test
ではなく
mv $'test\r' test
(シングルクオートの位置と数に注意)
$ bash ,/file
ではなく
$ bash ./file
or
$ bash file
で実行しましょう。
mv '$test'\r' test
ではなく
mv $'test\r' test
(シングルクオートの位置と数に注意)
$ bash ,/file
ではなく
$ bash ./file
or
$ bash file
で実行しましょう。
138デフォルトの名無しさん
2020/04/12(日) 13:34:49.83ID:QH8CCQ6c 書き間違いなのかも知れないけど、そこは
$ bash ./test
なんじゃ?
$ bash ./test
なんじゃ?
139デフォルトの名無しさん
2020/04/12(日) 13:57:36.00ID:KtYGSQjQ140デフォルトの名無しさん
2020/04/13(月) 06:27:55.73ID:bwzJgTJt POSIX準拠度を図るツールとか調べてるサイトないんかね?
141デフォルトの名無しさん
2020/04/14(火) 01:35:34.02ID:JSjD3hsj checkbashismとかは?
142デフォルトの名無しさん
2020/04/14(火) 07:04:50.30ID:ji8PXwtq143デフォルトの名無しさん
2020/04/14(火) 09:49:58.31ID:r1rqFhB1 調べてどーすんの?
144デフォルトの名無しさん
2020/04/14(火) 10:25:51.42ID:ji8PXwtq そうすりゃ自分が間違ってるのかシェルにバグが有るのかわかるだろ?
145デフォルトの名無しさん
2020/04/14(火) 10:42:05.80ID:GtUt/+gx 調べたければ公式のtest suite入手すればいい
http://get.posixcertified.ieee.org/posixfaq.html
http://get.posixcertified.ieee.org/posixfaq.html
146デフォルトの名無しさん
2020/04/16(木) 01:24:21.41ID:sXaGgreP ファイルが存在するなら上書き、しないなら新規作成ってtouchじゃなくてviでやるかんじでしょうか?
147デフォルトの名無しさん
2020/04/16(木) 01:56:40.88ID:phPWx1q3 リダイレクトでappendすればいい
$ do_something >> output.txt
$ do_something >> output.txt
148デフォルトの名無しさん
2020/04/16(木) 02:20:53.33ID:tywb42E3 bash なら、-e で、ファイルが存在すれば真
[ -e ファイル名 ]
逆に、ファイルが存在しない時に真
[ ! -e ファイル名 ]
[ -e ファイル名 ]
逆に、ファイルが存在しない時に真
[ ! -e ファイル名 ]
149デフォルトの名無しさん
2020/04/16(木) 09:20:05.32ID:pf1fo5EI >>148
これだとうまくいかないことがある
これだとうまくいかないことがある
150デフォルトの名無しさん
2020/04/16(木) 11:59:50.73ID:TtBh+dOu 上書きって言ってるから、単純に
$ do_something > output.txt
で良いんじゃない?
$ do_something > output.txt
で良いんじゃない?
151デフォルトの名無しさん
2020/04/16(木) 12:07:49.18ID:DjP17ITj >>150
普通にこれでいいな。
普通にこれでいいな。
152デフォルトの名無しさん
2020/04/16(木) 13:48:40.08ID:pf1fo5EI リダイレクトでファイルを作れるけど
リダイレクトでファイルを削除ってできないんだよな
空にすることはできるけど
リダイレクトでファイルを削除ってできないんだよな
空にすることはできるけど
153デフォルトの名無しさん
2020/04/16(木) 14:05:57.06ID:42Nlbk00 ファイルオープンとファイル作成は同居してるからな
削除は別物
削除は別物
154デフォルトの名無しさん
2020/04/16(木) 14:19:23.91ID:pf1fo5EI まあ分かるけど対象性がないと言うか
Aから出力したものをBにコピーする。の発展で
AからBに移動する。みたいな発想はなかったんかな?
そうすれば/dev/nullに移動 = 削除になったと思うんだが
移動も削除も実装w
Aから出力したものをBにコピーする。の発展で
AからBに移動する。みたいな発想はなかったんかな?
そうすれば/dev/nullに移動 = 削除になったと思うんだが
移動も削除も実装w
155デフォルトの名無しさん
2020/04/16(木) 15:26:12.37ID:MiKwJnZu 消去したいパスのリストをファイルに入れておいて(1行1パス)
cat path_list.txt | xargs rm -rf
みたいなことをしてるのですが、ファイルのパスでワイルドカード(アスタリスク)を
使いたくなりました。
単純にパスのリスト中でアスタリスクを使っても展開されないようですが、
展開させるにはどうするのがいいでしょうか。
cat path_list.txt | xargs rm -rf
みたいなことをしてるのですが、ファイルのパスでワイルドカード(アスタリスク)を
使いたくなりました。
単純にパスのリスト中でアスタリスクを使っても展開されないようですが、
展開させるにはどうするのがいいでしょうか。
156デフォルトの名無しさん
2020/04/16(木) 15:32:46.71ID:pf1fo5EI >>155
ファイル名に*という文字が含まれている場合はどうするの?
ファイル名に*という文字が含まれている場合はどうするの?
157デフォルトの名無しさん
2020/04/16(木) 15:33:05.34ID:pf1fo5EI あ、いや、「*」という名前のファイル名があったらどうするの?
158デフォルトの名無しさん
2020/04/16(木) 15:58:03.80ID:phPWx1q3 $ ls
foo.log bar.log baz.txt qux.txt *.txt input.txt
$ cat input.txt
*.log
'¥*.txt'
$ cat input.txt | xargs -I {} bash -c 'ls {}'
bar.log foo.log
*.txt
foo.log bar.log baz.txt qux.txt *.txt input.txt
$ cat input.txt
*.log
'¥*.txt'
$ cat input.txt | xargs -I {} bash -c 'ls {}'
bar.log foo.log
*.txt
159デフォルトの名無しさん
2020/04/16(木) 18:47:06.88ID:qyR5Ndp0 bash -cってどんな時に使うんです?
簡単なシェルスクリプトならググらず書けるようにはなったけどまだよく分からん
関数もaliasも使えない分安全だろうけど使いたい時はどうするの
簡単なシェルスクリプトならググらず書けるようにはなったけどまだよく分からん
関数もaliasも使えない分安全だろうけど使いたい時はどうするの
160デフォルトの名無しさん
2020/04/16(木) 19:26:09.12ID:pf1fo5EI161デフォルトの名無しさん
2020/04/16(木) 19:28:03.58ID:pf1fo5EI あと環境汚すようなときにも使うな。
関数定義してなにかしたいけど、後で消したいとか
まあサブシェルとかでもいいんだけど
関数定義してなにかしたいけど、後で消したいとか
まあサブシェルとかでもいいんだけど
162デフォルトの名無しさん
2020/04/16(木) 19:39:39.35ID:MiKwJnZu >>158
なるほどー。素晴らしい。
なるほどー。素晴らしい。
163デフォルトの名無しさん
2020/04/16(木) 21:47:35.66ID:phPWx1q3 >>159
interactive shellじゃない場合は
`shopt -s expand_aliases; source <alias設定file>` でエイリアスが展開される
$ cat .alias_and_fn
alias ll='ls -tAhG'
foo() {
echo "foobar!!"
}
$ cat input.txt | xargs -I {} bash -O expand_aliases -c $'source .alias_and_fn;¥n ll {}; foo'
行単位で読み込むときにalias展開するからaliasを設定した後に改行入れてから使う
interactiveなログインシェルとして起動したければ`bash -cli`とか
詳しくはman bashで
interactive shellじゃない場合は
`shopt -s expand_aliases; source <alias設定file>` でエイリアスが展開される
$ cat .alias_and_fn
alias ll='ls -tAhG'
foo() {
echo "foobar!!"
}
$ cat input.txt | xargs -I {} bash -O expand_aliases -c $'source .alias_and_fn;¥n ll {}; foo'
行単位で読み込むときにalias展開するからaliasを設定した後に改行入れてから使う
interactiveなログインシェルとして起動したければ`bash -cli`とか
詳しくはman bashで
164デフォルトの名無しさん
2020/04/16(木) 22:37:57.81ID:tywb42E3 bash -c は、よく見る
16556
2020/04/17(金) 06:27:50.85ID:wSTFfL+S >>56
ようやく、分かりますた!
xxx="$(command -v rbenv)"
と、端末で直接実行すると、xxx は、rbenv となって、パスが付かないのは、
すでに、rbenv という関数が定義されたファイルを読み込んでいるため、
同名のコマンドよりも先に、関数が見つかるから
一方、xxx="$(command -v rbenv)"
と、bash スクリプト内に書いて、スクリプトを実行すると、
xxx は、~/.rbenv/bin/rbenv とパスが付くのは、
rbenv という関数が定義されたファイルを読み込んでいないため、コマンドが見つかるから
シェル関数を使うには、その関数が定義されたファイルを読み込んでから使うのか
ようやく、分かりますた!
xxx="$(command -v rbenv)"
と、端末で直接実行すると、xxx は、rbenv となって、パスが付かないのは、
すでに、rbenv という関数が定義されたファイルを読み込んでいるため、
同名のコマンドよりも先に、関数が見つかるから
一方、xxx="$(command -v rbenv)"
と、bash スクリプト内に書いて、スクリプトを実行すると、
xxx は、~/.rbenv/bin/rbenv とパスが付くのは、
rbenv という関数が定義されたファイルを読み込んでいないため、コマンドが見つかるから
シェル関数を使うには、その関数が定義されたファイルを読み込んでから使うのか
166デフォルトの名無しさん
2020/04/17(金) 06:41:06.63ID:BxfxWji9 Ubuntuでシステムのシェルってdashになってるみたいですけど、確かこれってbashより
速いからって理由でしたっけ?
実際どのぐらい違うか興味があるんですが、どこかにdashとbashのベンチマーク比較した
情報とかあります? (自分でやれって? w)
速いからって理由でしたっけ?
実際どのぐらい違うか興味があるんですが、どこかにdashとbashのベンチマーク比較した
情報とかあります? (自分でやれって? w)
167デフォルトの名無しさん
2020/04/17(金) 10:38:11.77ID:9nBzfuh2168デフォルトの名無しさん
2020/04/17(金) 10:44:00.48ID:9nBzfuh2 dashを選んでるのは速度もあるしPOSIX準拠ってのもあるだろうね
169デフォルトの名無しさん
2020/04/17(金) 14:54:31.55ID:Urb0mH6b 関数を一行で書く時エラーで悩んでたけど波括弧ってに空白いるのな
foo(){ echo foo;}
小括弧だと必要ないのに何この初見殺し
foo(){ echo foo;}
小括弧だと必要ないのに何この初見殺し
170デフォルトの名無しさん
2020/04/17(金) 15:09:03.88ID:xgpGiYXu >>169
shellcheck使うといいよ
shellcheck使うといいよ
171デフォルトの名無しさん
2020/04/17(金) 15:40:41.15ID:9nBzfuh2 >>169
zshは空白無くても動く
zsh -c 'foo(){echo test;};foo
test
dashはコンパイルエラー起こらないと思いつつ、実行するとエラーになり
dash -c 'foo(){echo test;}' # コンパイルエラー起こらない
dash -c 'foo(){echo test;};foo' # でも実行すると怒られる
実は"最後の" ; がおかしい
dash -c 'foo(){echo test;} foo' # これを実行するとこうなる
{echo: not found
エラー内容から、最初の { がおかしい事がわかる。これが正解
dash -c 'foo()echo test;} foo'
test
後ろの } はただのノイズだと思われるので、とってあげても動く
dash -c 'foo()echo test; foo'
↑これは POSIX 準拠なので(笑)zshやkshやmkshでも動く
でもbashやyashでは動かない
そこから考えると
dash -c 'foo()echo test;foo' は動くということがわかるし、
dash -c 'foo()echo test;}foo' は
foo()echo test +}foo になるので、 }foo: not found と表示されることも理解できる
zshは空白無くても動く
zsh -c 'foo(){echo test;};foo
test
dashはコンパイルエラー起こらないと思いつつ、実行するとエラーになり
dash -c 'foo(){echo test;}' # コンパイルエラー起こらない
dash -c 'foo(){echo test;};foo' # でも実行すると怒られる
実は"最後の" ; がおかしい
dash -c 'foo(){echo test;} foo' # これを実行するとこうなる
{echo: not found
エラー内容から、最初の { がおかしい事がわかる。これが正解
dash -c 'foo()echo test;} foo'
test
後ろの } はただのノイズだと思われるので、とってあげても動く
dash -c 'foo()echo test; foo'
↑これは POSIX 準拠なので(笑)zshやkshやmkshでも動く
でもbashやyashでは動かない
そこから考えると
dash -c 'foo()echo test;foo' は動くということがわかるし、
dash -c 'foo()echo test;}foo' は
foo()echo test +}foo になるので、 }foo: not found と表示されることも理解できる
172デフォルトの名無しさん
2020/04/17(金) 16:52:28.83ID:nls2b0po >>171
> dash -c 'foo()echo test; foo'
>
> ↑これは POSIX 準拠なので(笑)zshやkshやmkshでも動く
> でもbashやyashでは動かない
それは bash や yash の方が正解
関数定義の本体は複合コマンド(compound command)のみ
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_05
ちなみに yash や posh はこれに関して、bash よりも分りやすいエラーメッセージを吐く:
% yash -c 'f() echo'
yash -c:1: syntax error: a function body must be a compound command
% posh -c 'f() echo'
posh: f: function definition must use compound command
%
> dash -c 'foo()echo test; foo'
>
> ↑これは POSIX 準拠なので(笑)zshやkshやmkshでも動く
> でもbashやyashでは動かない
それは bash や yash の方が正解
関数定義の本体は複合コマンド(compound command)のみ
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_05
ちなみに yash や posh はこれに関して、bash よりも分りやすいエラーメッセージを吐く:
% yash -c 'f() echo'
yash -c:1: syntax error: a function body must be a compound command
% posh -c 'f() echo'
posh: f: function definition must use compound command
%
173デフォルトの名無しさん
2020/04/17(金) 17:38:27.88ID:9nBzfuh2 >>172
compound-command は必ずしもグループ化しろとは書かれてないよ
グループ化はオプション
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04
compound-command は必ずしもグループ化しろとは書かれてないよ
グループ化はオプション
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04
174デフォルトの名無しさん
2020/04/17(金) 19:28:17.38ID:3FstJMua175デフォルトの名無しさん
2020/04/17(金) 19:40:14.03ID:nls2b0po176デフォルトの名無しさん
2020/04/17(金) 19:56:23.51ID:UJSQQO8I え,関数って一行で定義するときは
foo() echo hello;
みたいに波括弧で括る必要ないの?
知らんかった。
foo() echo hello;
みたいに波括弧で括る必要ないの?
知らんかった。
177デフォルトの名無しさん
2020/04/17(金) 19:58:37.78ID:9nBzfuh2 >>175
リンク先見ろ、Grouping Commands って書いてあるだろ
compound-command は
() や {} でグループ化してもいいし、しなくてもいい
単一のコマンドも compound-command
というか、単一のコマンドが compound-command であり
複数のコマンドをまとめる時に Grouping Commands を使う
リンク先見ろ、Grouping Commands って書いてあるだろ
compound-command は
() や {} でグループ化してもいいし、しなくてもいい
単一のコマンドも compound-command
というか、単一のコマンドが compound-command であり
複数のコマンドをまとめる時に Grouping Commands を使う
178デフォルトの名無しさん
2020/04/17(金) 19:59:07.40ID:9nBzfuh2 >>176
本来はね。でもbashで対応してないから事実上諦めるしかない。
本来はね。でもbashで対応してないから事実上諦めるしかない。
179デフォルトの名無しさん
2020/04/17(金) 20:01:55.41ID:9nBzfuh2 >>176
あとグループ化するのに使うのは {} または () なので
foo() { echo hello; } の代わりに
foo() (echo hello) と書いても良い
こっちはbashやyashも対応している。
ただし当然のことながらサブシェルで実行される。
あとグループ化するのに使うのは {} または () なので
foo() { echo hello; } の代わりに
foo() (echo hello) と書いても良い
こっちはbashやyashも対応している。
ただし当然のことながらサブシェルで実行される。
180デフォルトの名無しさん
2020/04/17(金) 20:05:05.86ID:9nBzfuh2 fname ( ) compound-command [io-redirect ...]
の最後からわかるように
foo() { echo hello; } >/dev/null や
foo() (echo hello) >/dev/null とも書ける
もちろん複数行でこのように書いてもいい
関数が出すエラーを全て捨てる場合とかに使える
foo() {
echo hello
} 2>/dev/null
の最後からわかるように
foo() { echo hello; } >/dev/null や
foo() (echo hello) >/dev/null とも書ける
もちろん複数行でこのように書いてもいい
関数が出すエラーを全て捨てる場合とかに使える
foo() {
echo hello
} 2>/dev/null
181デフォルトの名無しさん
2020/04/17(金) 20:07:41.32ID:nls2b0po182デフォルトの名無しさん
2020/04/17(金) 20:13:43.55ID:9nBzfuh2 >>181
なんのために Grouping Commands と別に説明してある思ってる?
Grouping Commands を作るための {} または () が必須じゃないから、
「compound-commands の定義は {} または () で始まる」と*書かれてない*んだよ
なんのために Grouping Commands と別に説明してある思ってる?
Grouping Commands を作るための {} または () が必須じゃないから、
「compound-commands の定義は {} または () で始まる」と*書かれてない*んだよ
183デフォルトの名無しさん
2020/04/17(金) 20:56:24.03ID:xgpGiYXu 2.9.4 Compound Commands
The shell has several programming constructs that are "compound commands", which provide control flow for commands.
Each of these compound commands has a reserved word or control operator at the beginning, and a corresponding terminator reserved word or operator at the end
でその後Compound Commandsとして上げられてるが以下の6つ
- Grouping Commands
- The for Loop
- Case Conditional Construct
- The if Conditional Construct
- The while Loop
- The until Loop
echo helloは開始・終了を示す予約語もなければ、上の6つのどれにも当てはまらないからCompound Commandではない
The shell has several programming constructs that are "compound commands", which provide control flow for commands.
Each of these compound commands has a reserved word or control operator at the beginning, and a corresponding terminator reserved word or operator at the end
でその後Compound Commandsとして上げられてるが以下の6つ
- Grouping Commands
- The for Loop
- Case Conditional Construct
- The if Conditional Construct
- The while Loop
- The until Loop
echo helloは開始・終了を示す予約語もなければ、上の6つのどれにも当てはまらないからCompound Commandではない
184デフォルトの名無しさん
2020/04/17(金) 20:57:55.90ID:xgpGiYXu foo() if true; then echo "foobar"; fi
↑こういうのはOK
↓shellcheckの解説
POSIX allows the body of a function to be any compound command, e.g. foo() for i; do :; done. Since this usage is rare, ShellCheck intentionally requires the body to be { ..; } (or ( ..; )):
https://github.com/koalaman/shellcheck/wiki/SC1064
↑こういうのはOK
↓shellcheckの解説
POSIX allows the body of a function to be any compound command, e.g. foo() for i; do :; done. Since this usage is rare, ShellCheck intentionally requires the body to be { ..; } (or ( ..; )):
https://github.com/koalaman/shellcheck/wiki/SC1064
185デフォルトの名無しさん
2020/04/17(金) 21:06:47.56ID:9nBzfuh2 >>183
Compound Commands はその6つって言いたいの?
なら以下の関数定義はPOSIX 準拠ってことだね
foo() for i in a b c; do echo $i; done
foo() case a in a) echo a; esac
foo() if [ a ]; then echo a; fi
foo() while [ $# -gt 0 ]; do echo $1; shift; done
Compound Commands はその6つって言いたいの?
なら以下の関数定義はPOSIX 準拠ってことだね
foo() for i in a b c; do echo $i; done
foo() case a in a) echo a; esac
foo() if [ a ]; then echo a; fi
foo() while [ $# -gt 0 ]; do echo $1; shift; done
186デフォルトの名無しさん
2020/04/17(金) 22:32:27.89ID:UJSQQO8I <<. dash
foo() echo hello
foo
.
hello
たしかにDashだと問題なく定義できるな……。
こんなこと始めて知ったわ。実地で使うかどうかは置いといてw
foo() echo hello
foo
.
hello
たしかにDashだと問題なく定義できるな……。
こんなこと始めて知ったわ。実地で使うかどうかは置いといてw
要するに素直に括弧でくるんどけってことやな
188デフォルトの名無しさん
2020/04/18(土) 00:16:26.14ID:sxA+eVU/189デフォルトの名無しさん
2020/04/18(土) 00:28:42.97ID:6r7FvQ+k >>169
type { }やると分かるけど{}はシェルの予約語
{}に意味があるから{ この空白も閉じる前の;}もいる
for i inをforiinにできないようなもんで
()はtypeで何も出てこないけどね
type { }やると分かるけど{}はシェルの予約語
{}に意味があるから{ この空白も閉じる前の;}もいる
for i inをforiinにできないようなもんで
()はtypeで何も出てこないけどね
190デフォルトの名無しさん
2020/04/18(土) 13:41:33.88ID:6HUqz/fc set -eの挙動について教えて下さい!
これを実行したら何も表示されずに終了されました
set -e
foo() {
false
echo foo
}
foo
echo $?
その理由はわかります
質問はfooの中身を一切変えずにset -eの状態で
fooを画面に表示させずに $? (= 1) を
取得する方法はあるのでしょうか?
これを実行したら何も表示されずに終了されました
set -e
foo() {
false
echo foo
}
foo
echo $?
その理由はわかります
質問はfooの中身を一切変えずにset -eの状態で
fooを画面に表示させずに $? (= 1) を
取得する方法はあるのでしょうか?
191デフォルトの名無しさん
2020/04/18(土) 13:58:58.99ID:iaqzJhUO { と [ は記号でなく「コマンド」
$ ls -l
を
$ ls-l
とスペースを入れないと動かなくなる
これと一緒
$ ls -l
を
$ ls-l
とスペースを入れないと動かなくなる
これと一緒
192デフォルトの名無しさん
2020/04/18(土) 15:04:41.42ID:uOWDKjxa >>190
! ret=foo
echo $?
or
if ret=$(foo); then
echo "truthy" "$ret" "$?"
else
echo "falsy" "$ret" "$?"
fi
! ret=foo
echo $?
or
if ret=$(foo); then
echo "truthy" "$ret" "$?"
else
echo "falsy" "$ret" "$?"
fi
193デフォルトの名無しさん
2020/04/18(土) 16:16:36.81ID:6HUqz/fc >>192
> ! ret=foo
なんですか、これ!?って思ったらfoo関数呼び出してないじゃないですかぁ
> if ret=$(foo); then
なるほど、これで取得できるんですねって思って
やったんですけど truthy foo 0 ってでました
> ! ret=foo
なんですか、これ!?って思ったらfoo関数呼び出してないじゃないですかぁ
> if ret=$(foo); then
なるほど、これで取得できるんですねって思って
やったんですけど truthy foo 0 ってでました
194デフォルトの名無しさん
2020/04/18(土) 16:53:00.73ID:8o9dGOG1 >>190
パイプライン (1 つの 単純なコマンド からなるものでもよい)、 括弧で囲まれた サブシェル のコマンド、 ブレース (前述の シェルの文法 を参照) で囲まれたコマンドのリストの一部として
実行されたコマンドの 1 つ が 0 でないステータスで終了した場合、即座に終了します
だから。falseの時点でどうであれメインシェルプロセスがそこで終了、echo fooなんて実行しない、もちろん呼び出し元にも戻らない
>>192は上記に続く文に沿ってのじゃないかなあ。だが、if false; then ... とかの話で、違うだろうな文的にも。わざとなのかわからんけどw
そういう動作を望んで set -e してるのにそういう動作すんなって無理じゃね
パイプライン (1 つの 単純なコマンド からなるものでもよい)、 括弧で囲まれた サブシェル のコマンド、 ブレース (前述の シェルの文法 を参照) で囲まれたコマンドのリストの一部として
実行されたコマンドの 1 つ が 0 でないステータスで終了した場合、即座に終了します
だから。falseの時点でどうであれメインシェルプロセスがそこで終了、echo fooなんて実行しない、もちろん呼び出し元にも戻らない
>>192は上記に続く文に沿ってのじゃないかなあ。だが、if false; then ... とかの話で、違うだろうな文的にも。わざとなのかわからんけどw
そういう動作を望んで set -e してるのにそういう動作すんなって無理じゃね
195デフォルトの名無しさん
2020/04/18(土) 17:07:44.49ID:8o9dGOG1 bash 限定なら、
export -f foo
bash -c 'foo' && echo $? || echo $?
で、一応動くようではあるな(ちゃんとfooでのステータス値も返る)
export -f foo
bash -c 'foo' && echo $? || echo $?
で、一応動くようではあるな(ちゃんとfooでのステータス値も返る)
196デフォルトの名無しさん
2020/04/18(土) 17:44:44.40ID:8o9dGOG1197デフォルトの名無しさん
2020/04/18(土) 17:58:24.37ID:8o9dGOG1 あぁ、$() は正常時はやっぱりダメか。そりゃそうだな(スッキリしたw)
ret=$(foo) のような、なんか工夫すればできそうな気もしないでもないが。そういうことなのね、失礼>>192
ret=$(foo) のような、なんか工夫すればできそうな気もしないでもないが。そういうことなのね、失礼>>192
198デフォルトの名無しさん
2020/04/18(土) 18:28:05.36ID:fB7EV6Kq その方針なら
export -f foo;
ret=$(bash -c 'foo; echo $?');
echo $ret;
で良いんじゃね?
export -f foo;
ret=$(bash -c 'foo; echo $?');
echo $ret;
で良いんじゃね?
199デフォルトの名無しさん
2020/04/18(土) 19:01:48.64ID:8o9dGOG1 出力結果をスクリプトで扱うために欲しいわけじゃないから
$() だと関数も外部コマンドのように別(のメイン)プロセスとして呼べる=bash固有のでなくて使えそうだなあという、ニコイチではなくどっちかの話
$() だと関数も外部コマンドのように別(のメイン)プロセスとして呼べる=bash固有のでなくて使えそうだなあという、ニコイチではなくどっちかの話
200デフォルトの名無しさん
2020/04/18(土) 19:14:49.95ID:fB7EV6Kq ああすまん、fooの出力を忘れてた。
201デフォルトの名無しさん
2020/04/18(土) 23:55:48.35ID:L3zGDU5z $ $(echo hoge)
hoge: command not found
まあ、当然そうだわな
$ $(exit 12)
$ echo $?
12
へー、コマンドねえぞとお怒りにはならんのか。空行とみなして無かったこと(?)になるのか
echo ' 'とかスペースタブだけ(?)なら許してくれる、: と違いステータスも変わらない
てことで、標準出力に何も出さなければいいのねで、
exec 9>&1
$(set -e; foo >&9) && echo $? || echo $?
でbash以外でも動くことは動く ($() 内ってCommandsでもいいのね)
$()内での set -e はない方がスッキリだが必要ないシェルもあるもあるが必要とするシェルがある
hoge: command not found
まあ、当然そうだわな
$ $(exit 12)
$ echo $?
12
へー、コマンドねえぞとお怒りにはならんのか。空行とみなして無かったこと(?)になるのか
echo ' 'とかスペースタブだけ(?)なら許してくれる、: と違いステータスも変わらない
てことで、標準出力に何も出さなければいいのねで、
exec 9>&1
$(set -e; foo >&9) && echo $? || echo $?
でbash以外でも動くことは動く ($() 内ってCommandsでもいいのね)
$()内での set -e はない方がスッキリだが必要ないシェルもあるもあるが必要とするシェルがある
202デフォルトの名無しさん
2020/04/19(日) 00:14:03.50ID:u21QryuH 例えば、Ruby のバージョンマネージャー・rbenv の、rbenv-installer の冒頭部分は、
#!/bin/bash
# コマンドの終了コードが、0以外なら強制終了する
set -e
homebrew=
# -p : タイプが「file(実行ファイル)」の時のみ実行ファイルの絶対パスを出力する
# (それ以外のタイプの場合は何も出力しない)
type -p brew >/dev/null && homebrew=1
#!/bin/bash
# コマンドの終了コードが、0以外なら強制終了する
set -e
homebrew=
# -p : タイプが「file(実行ファイル)」の時のみ実行ファイルの絶対パスを出力する
# (それ以外のタイプの場合は何も出力しない)
type -p brew >/dev/null && homebrew=1
203デフォルトの名無しさん
2020/04/21(火) 09:06:14.84ID:h1bS6DJt コマンドってファイルに書くのと実行形式を~/binに置くのとどっちがいいの
関数とエイリアスの違いは分かったけど使い分けできてないな
関数とエイリアスの違いは分かったけど使い分けできてないな
204デフォルトの名無しさん
2020/04/21(火) 10:50:42.27ID:FcWzzI7X /dev/urandomっていうデバイスファイルが,
ほんとにただのファイルとか実は同じ値ばっかり出力するデバイスファイルとか
じゃないってことを保証する方法ってある?
ほんとにただのファイルとか実は同じ値ばっかり出力するデバイスファイルとか
じゃないってことを保証する方法ってある?
205デフォルトの名無しさん
2020/04/21(火) 13:16:25.79ID:bkXsrA+q206デフォルトの名無しさん
2020/04/21(火) 15:24:10.19ID:Lx1iEb8v >>204
ないよ。
作ろうと思えば/dev/urandomを独自実装のデバイスファイルに置き換えられるんだから。
それっぽい値を返すデバイスファイルを作ろうと思えば作れる
例えばWSL1はWindowsでLinuxカーネルをエミュレートしてるんだから
/dev/urandom とかMSの独自実装のデバイスでしょ?
ないよ。
作ろうと思えば/dev/urandomを独自実装のデバイスファイルに置き換えられるんだから。
それっぽい値を返すデバイスファイルを作ろうと思えば作れる
例えばWSL1はWindowsでLinuxカーネルをエミュレートしてるんだから
/dev/urandom とかMSの独自実装のデバイスでしょ?
207デフォルトの名無しさん
2020/04/21(火) 15:27:13.15ID:Lx1iEb8v >>203
コマンドをファイルに書くって関数のこと?
CLIから呼び出す汎用的なものは~/binで
スクリプト内部で使うだけなら関数にするだけじゃないの?
そしてエイリアスはインタラクティブシェルで使うもの
bashがデフォルトでスクリプトでは無効になってるのはそういう事
コマンドをファイルに書くって関数のこと?
CLIから呼び出す汎用的なものは~/binで
スクリプト内部で使うだけなら関数にするだけじゃないの?
そしてエイリアスはインタラクティブシェルで使うもの
bashがデフォルトでスクリプトでは無効になってるのはそういう事
208デフォルトの名無しさん
2020/04/21(火) 16:17:24.29ID:fQ5b9H0O >スクリプト内部で使うだけなら関数にするだけ
と思い込んでたら、>>56みたいになるぞw
>bashがデフォルトでスクリプトでは無効になってるのはそういう事
まあ、4からか?そういう方がいいだろうと思い変えたのだろうが、--posixでは有効なんだけどな
と思い込んでたら、>>56みたいになるぞw
>bashがデフォルトでスクリプトでは無効になってるのはそういう事
まあ、4からか?そういう方がいいだろうと思い変えたのだろうが、--posixでは有効なんだけどな
209デフォルトの名無しさん
2020/04/21(火) 16:29:23.76ID:Lx1iEb8v210デフォルトの名無しさん
2020/04/21(火) 16:30:27.22ID:Lx1iEb8v https://pubs.opengroup.org/onlinepubs/9699919799/utilities/alias.html
POSIXでも interactive utilities.って言われてるぐらいだしな
POSIXでも interactive utilities.って言われてるぐらいだしな
211デフォルトの名無しさん
2020/04/21(火) 16:43:50.04ID:fQ5b9H0O >>209
残念ながら、3はそうなってない
残念ながら、3はそうなってない
212デフォルトの名無しさん
2020/04/21(火) 16:47:30.51ID:fQ5b9H0O >>210
ちゃんと読めよ
ちゃんと読めよ
213デフォルトの名無しさん
2020/04/21(火) 16:59:29.51ID:fQ5b9H0O214デフォルトの名無しさん
2020/04/21(火) 17:43:01.90ID:fQ5b9H0O >>209,211
ああ、すまん
実行できないのは最初からだし、存在さえもしないのは3以降からだな(2では存在はするが実行時エラー)
>まあ、4からか?そういう方がいいだろうと思い変えたのだろうが
の部分は間違い勘違い、すまん
ああ、すまん
実行できないのは最初からだし、存在さえもしないのは3以降からだな(2では存在はするが実行時エラー)
>まあ、4からか?そういう方がいいだろうと思い変えたのだろうが
の部分は間違い勘違い、すまん
215デフォルトの名無しさん
2020/04/21(火) 18:23:13.41ID:Lx1iEb8v21656
2020/04/21(火) 20:51:03.40ID:HADG6GDb anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しないでも良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
結局、この追加した、eval で、rbenv という関数を読み込んでいたという落ちw
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しないでも良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
結局、この追加した、eval で、rbenv という関数を読み込んでいたという落ちw
21756
2020/04/21(火) 20:57:08.31ID:HADG6GDb218デフォルトの名無しさん
2020/04/21(火) 21:30:49.10ID:fQ5b9H0O219デフォルトの名無しさん
2020/04/21(火) 21:50:22.71ID:Lx1iEb8v rbenvはaliasをインタラクティブシェルで使ってない
だからといって、
「aliasはインタラクティブシェルで使うもの」を
否定してることにはならんのだが・
だからといって、
「aliasはインタラクティブシェルで使うもの」を
否定してることにはならんのだが・
220デフォルトの名無しさん
2020/04/21(火) 22:16:38.40ID:fQ5b9H0O 何言ってるの?
>>スクリプト内部で使うだけなら関数にするだけ
>と思い込んでたら、>>56みたいになるぞw
から、想像だけで「alias使ってるんでしょ?」て間違ったこと「いきなり」言い始めたんんだけど。それが関数なんてすぐ下に書いてあるのに、見も/調べもせずに「いきなり」
「スクリプト内部で使う[だけ]なら[関数]」だから、見も/調べもせずに「alias使ってるんでしょ?」なんて間違いを平気で言ったんでしょ?
aliasはインタラクティブシェルで使うものは別件で、そこは関数のことだろに
aliasはインタラクティブシェルで使うものは特に否定はしてないが、POSIXでそう決めてるわけではない。>>210を自分でちゃんと読めば>>210はなんの補強にもなってないのに誤った抽出ってこと
>>スクリプト内部で使うだけなら関数にするだけ
>と思い込んでたら、>>56みたいになるぞw
から、想像だけで「alias使ってるんでしょ?」て間違ったこと「いきなり」言い始めたんんだけど。それが関数なんてすぐ下に書いてあるのに、見も/調べもせずに「いきなり」
「スクリプト内部で使う[だけ]なら[関数]」だから、見も/調べもせずに「alias使ってるんでしょ?」なんて間違いを平気で言ったんでしょ?
aliasはインタラクティブシェルで使うものは別件で、そこは関数のことだろに
aliasはインタラクティブシェルで使うものは特に否定はしてないが、POSIXでそう決めてるわけではない。>>210を自分でちゃんと読めば>>210はなんの補強にもなってないのに誤った抽出ってこと
221デフォルトの名無しさん
2020/04/21(火) 22:19:02.65ID:Lx1iEb8v 「スクリプト内部で使うだけなら関数にするだけ」は
否定しないんだね
否定しないんだね
222デフォルトの名無しさん
2020/04/21(火) 22:21:12.97ID:fQ5b9H0O 読めなさすぎだろう。なんでそうなる??
スクリプト内部で使う[だけ]じゃない[関数]がって例の話なのに
ダメだな読めなさすぎ、今までのでも
スクリプト内部で使う[だけ]じゃない[関数]がって例の話なのに
ダメだな読めなさすぎ、今までのでも
223デフォルトの名無しさん
2020/04/22(水) 05:24:59.12ID:6NXdX+6G お前らいつも質問者を置き去りにしてんな
224デフォルトの名無しさん
2020/04/22(水) 05:43:01.59ID:Beb++bH7 こいつもう辞めた方がいいな
225デフォルトの名無しさん
2020/04/22(水) 11:23:37.41ID:3RYHR+yq 質問箱スレじゃないから
226デフォルトの名無しさん
2020/04/22(水) 16:58:30.97ID:UC4McjLk 枯れた技術のスレで質問禁止にしたら超絶過疎っちゃうよ
227デフォルトの名無しさん
2020/04/22(水) 18:17:22.60ID:hVJ7sunP 質問禁止という意味じゃない。質問もありだし質問のをネタにしたのもあり
質問箱スレならQ/A以外は雑音にしかならんという意味
質問箱スレならQ/A以外は雑音にしかならんという意味
228デフォルトの名無しさん
2020/04/23(木) 02:03:46.11ID:SDkT6EOl cronの書式を読み取りたいんですがなぜかファイル名が読み取られてしまいます。なぜでしょうか?
229デフォルトの名無しさん
2020/04/23(木) 22:30:55.15ID:LOz3K8jb どうやったらそんな挙動になるんだ?
ちょっとどんなコマンド打ったか書いてみて。
ちょっとどんなコマンド打ったか書いてみて。
230デフォルトの名無しさん
2020/04/23(木) 23:01:10.88ID:UKSnHl0c >>228
クォートしてないからでしょ
$ ls
crontab
$ echo * * * * * user-name command to be executed
crontab crontab crontab crontab crontab user-name command to be executed
$ echo "* * * * * user-name command to be executed"
* * * * * user-name command to be executed
クォートしてないからでしょ
$ ls
crontab
$ echo * * * * * user-name command to be executed
crontab crontab crontab crontab crontab user-name command to be executed
$ echo "* * * * * user-name command to be executed"
* * * * * user-name command to be executed
231デフォルトの名無しさん
2020/04/24(金) 00:57:40.18ID:QUI7MWka232デフォルトの名無しさん
2020/04/24(金) 01:55:29.65ID:oLSoKJut awk使っちまうなあ
楽チンで
楽チンで
233デフォルトの名無しさん
2020/04/24(金) 02:13:20.42ID:QUI7MWka その後シェルスクリプトで処理をしたいんです。
234デフォルトの名無しさん
2020/04/24(金) 02:56:11.86ID:F2FblhOM read
235デフォルトの名無しさん
2020/04/24(金) 03:11:08.96ID:F2FblhOM236デフォルトの名無しさん
2020/04/25(土) 23:21:25.07ID:dkVnBOhV 他スレで -z とか見て思い出したんだけどさ
[ -z "$str" ] とか [ -n "$str" ] って必要なの?
[ "$str" ] とか [ ! "$str" ] でいいと思うんだけど?
[ "$op" "$str" ] みたいに演算子を変数に入れられるから
機能そのものが不要だとはは思わないけど
通常は [ "$str" ] や [ ! "$str" ] で良くない?
他の言語だとこっちだからわかりやすいし
[ -z "$str" ] とか [ -n "$str" ] って必要なの?
[ "$str" ] とか [ ! "$str" ] でいいと思うんだけど?
[ "$op" "$str" ] みたいに演算子を変数に入れられるから
機能そのものが不要だとはは思わないけど
通常は [ "$str" ] や [ ! "$str" ] で良くない?
他の言語だとこっちだからわかりやすいし
237デフォルトの名無しさん
2020/04/25(土) 23:31:42.54ID:gS2ps0hn 他の言語だったらそういうのはBooleanでしか使わないという文化な人々も居る
[ -z "$str" ] や [ -n "$str" ] よりも [ "$str" = "" ] とか [ "$str" != "" ] の方が見る機会が多かったな
[ -z "$str" ] や [ -n "$str" ] よりも [ "$str" = "" ] とか [ "$str" != "" ] の方が見る機会が多かったな
238デフォルトの名無しさん
2020/04/25(土) 23:59:47.04ID:Ey2ZfVC3 >>236
先頭にマイナス記号が入らないことが保証されるのならいいのでは?
先頭にマイナス記号が入らないことが保証されるのならいいのでは?
239デフォルトの名無しさん
2020/04/26(日) 00:16:24.29ID:D7tlSM02 >>238
関係ないでしょ? その場合こう展開される
[ "-z" ] または [ "-n" ] これはどちらも文字列があるから0
[ ] で囲まれた中身が1個の場合は決してオペレータとして扱わないのだから
どんな文字が来たとしても問題ない。空文字以外は0となる
ついでにいうと [ ] の中身が0個の場合は常に非0
そもそも [ ] (test)のドキュメントに
STRING は -n STRING と等価と書かれている
仕様通り
関係ないでしょ? その場合こう展開される
[ "-z" ] または [ "-n" ] これはどちらも文字列があるから0
[ ] で囲まれた中身が1個の場合は決してオペレータとして扱わないのだから
どんな文字が来たとしても問題ない。空文字以外は0となる
ついでにいうと [ ] の中身が0個の場合は常に非0
そもそも [ ] (test)のドキュメントに
STRING は -n STRING と等価と書かれている
仕様通り
240デフォルトの名無しさん
2020/04/26(日) 03:16:05.39ID:cVjuSaki >>239
他の条件とand/orされる場合は?
他の条件とand/orされる場合は?
241デフォルトの名無しさん
2020/04/26(日) 03:17:32.99ID:D7tlSM02242デフォルトの名無しさん
2020/04/26(日) 03:29:33.94ID:cVjuSaki243デフォルトの名無しさん
2020/04/26(日) 04:31:48.38ID:D7tlSM02 >>242
ん?でもさ -a とか -o 使っても問題ないんじゃね?
[ str -a ] みたいなのってありえないんだからさ[ -a -a ] もないでしょ?
[ -a -a -a ] だと 最初と最後が文字だって一意に識別できるよね?
訂正する
> 他の条件とand/orされる場合は?
他の条件とand/orされる場合 かつ 混乱するようなパターンってありえるの?
ん?でもさ -a とか -o 使っても問題ないんじゃね?
[ str -a ] みたいなのってありえないんだからさ[ -a -a ] もないでしょ?
[ -a -a -a ] だと 最初と最後が文字だって一意に識別できるよね?
訂正する
> 他の条件とand/orされる場合は?
他の条件とand/orされる場合 かつ 混乱するようなパターンってありえるの?
244デフォルトの名無しさん
2020/04/26(日) 04:38:33.47ID:cVjuSaki >>243
シェルというかtestコマンドってそんなに賢く自動判別してくれるの?
これからそういうシェルまたはtestコマンド作るって話?
だったら作ればいいんじゃね?そうすればそれはそういうものですって言えるしそれでokだ。
シェルというかtestコマンドってそんなに賢く自動判別してくれるの?
これからそういうシェルまたはtestコマンド作るって話?
だったら作ればいいんじゃね?そうすればそれはそういうものですって言えるしそれでokだ。
245デフォルトの名無しさん
2020/04/26(日) 04:48:09.65ID:D7tlSM02 なんでシェルをディスってるの?
これからも何も「testは賢く判断するから問題ないよね」って聞いてるだけなのに
これからも何も「testは賢く判断するから問題ないよね」って聞いてるだけなのに
246デフォルトの名無しさん
2020/04/26(日) 04:53:55.28ID:D7tlSM02247デフォルトの名無しさん
2020/04/26(日) 04:56:34.45ID:cVjuSaki あ、そう。じゃあそれでいいんじゃね?
248デフォルトの名無しさん
2020/04/26(日) 06:08:44.50ID:D7tlSM02 何が気に食わないんだろう(笑)
249デフォルトの名無しさん
2020/04/26(日) 14:42:15.32ID:v6fWLjMY >>236と同一人物に見えて俺流儀の押し付けしたいのか何をしたいのかだろな
250デフォルトの名無しさん
2020/04/26(日) 15:26:53.79ID:D7tlSM02 質問者 (POSIX準拠の仕様)これ問題ある?
回答者 問題あるに決まってるだろ。あれとかこれとかどうなんだ?
質問者 それらは問題ないよね?
回答者 お前の流儀を押し付けるな!
なんだこのながれ
回答者 問題あるに決まってるだろ。あれとかこれとかどうなんだ?
質問者 それらは問題ないよね?
回答者 お前の流儀を押し付けるな!
なんだこのながれ
251デフォルトの名無しさん
2020/04/26(日) 15:35:41.02ID:UR76YMSe /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
252デフォルトの名無しさん
2020/04/26(日) 15:55:10.56ID:D7tlSM02 まともなレスじゃなくて、個人たたきに変わったからな
POSIXの仕様にたいして俺流儀とかアホかと
POSIXの仕様にたいして俺流儀とかアホかと
253デフォルトの名無しさん
2020/04/26(日) 18:41:28.13ID:vc5fDz2w それ以上POSIXを唱えるな
奴が来る
奴が来る
254デフォルトの名無しさん
2020/04/28(火) 06:27:22.31ID:6K6MgdzD ハクション大魔王2020は面白いな。
255デフォルトの名無しさん
2020/04/28(火) 08:02:31.62ID:w59d7UdO 俺流儀に見えたってことはそういうことでは
虚栄心だけじゃ何も学べないよねぇ
虚栄心だけじゃ何も学べないよねぇ
256デフォルトの名無しさん
2020/04/28(火) 08:18:47.52ID:+3UriQww 詠唱
────POSIX準拠
────POSIX準拠
257デフォルトの名無しさん
2020/04/28(火) 13:15:20.29ID:85h3VPXT 宗教みたいだぁ…(直喩)
258デフォルトの名無しさん
2020/04/28(火) 15:22:47.80ID:7mVXavmj 宗教だろ…(直球)
259デフォルトの名無しさん
2020/04/29(水) 07:41:19.70ID:kBxqIvnv お前のログインシェルをfishにしてやろうか
260デフォルトの名無しさん
2020/04/29(水) 13:35:45.09ID:CfLIzb8G >>259
それはPOSIX準拠?
それはPOSIX準拠?
261デフォルトの名無しさん
2020/04/29(水) 14:00:43.59ID:/shWL0SW ねたにまじれす
262デフォルトの名無しさん
2020/04/29(水) 18:18:56.88ID:i2PPpjMR 最近Oil ShellのPOSIX準拠度が高まってきて嬉しい(これはネタじゃない)
264デフォルトの名無しさん
2020/04/29(水) 20:13:29.94ID:sus1L+2H POSIX準拠度が完全になったら教えてくれ
265デフォルトの名無しさん
2020/04/29(水) 20:20:23.45ID:sus1L+2H ち、やっぱり set -uしたときにecho ${A+x} ってしたら
fatal: Undefined variableで落ちるじゃねーか
変数が定義されているかのチェックすら出来ねぇ
fatal: Undefined variableで落ちるじゃねーか
変数が定義されているかのチェックすら出来ねぇ
266デフォルトの名無しさん
2020/04/29(水) 21:34:42.01ID:i2PPpjMR >>265
そこでissueですよ
そこでissueですよ
267デフォルトの名無しさん
2020/04/29(水) 22:37:55.93ID:sus1L+2H >>266
立て逃げしていいならするけどさ、やり取りが面倒なんだよ
この程度ででるぐらいなら他にも問題たくさんありそうだしstar多いんだろ?誰かが頑張ってくれ
それかすでにあるんじゃねーの?OilShellがどこまで本気なのか知らんが、
まがりなりにもPOSIX準拠を名乗りたいのなら絶対には対応していないといけない
基本機能だからな。(変数定義確認方法のFAQレベルだぞこれは)
俺にとっては数あるシェルの一つでしかないし別件で忙しい
立て逃げしていいならするけどさ、やり取りが面倒なんだよ
この程度ででるぐらいなら他にも問題たくさんありそうだしstar多いんだろ?誰かが頑張ってくれ
それかすでにあるんじゃねーの?OilShellがどこまで本気なのか知らんが、
まがりなりにもPOSIX準拠を名乗りたいのなら絶対には対応していないといけない
基本機能だからな。(変数定義確認方法のFAQレベルだぞこれは)
俺にとっては数あるシェルの一つでしかないし別件で忙しい
268デフォルトの名無しさん
2020/04/30(木) 01:05:28.49ID:vtgsH/Bs POSIX互換を謳う俺々シェルの利点って何なの
わざわざ作るってことは今のPOSIXは不備あるのか
わざわざ作るってことは今のPOSIXは不備あるのか
269デフォルトの名無しさん
2020/04/30(木) 07:55:57.21ID:zGlfElvR >>268
今のPOSIXに不満があったらPOSIX準拠シェルなんて面倒なもの態々作らんと思うが
今のPOSIXに不満があったらPOSIX準拠シェルなんて面倒なもの態々作らんと思うが
270デフォルトの名無しさん
2020/04/30(木) 08:09:08.08ID:04alJDEx 作るだろ?不満があったから新しいものを作る
ただし移行パスがなければ移行しないのでその方法を提供する
よくある話だ
ただし移行パスがなければ移行しないのでその方法を提供する
よくある話だ
271デフォルトの名無しさん
2020/04/30(木) 12:57:36.00ID:pg6Bqb9H >>270
たぶん「準拠(互換)」の部分について言及してるんだと思うよ
たぶん「準拠(互換)」の部分について言及してるんだと思うよ
272デフォルトの名無しさん
2020/04/30(木) 13:50:18.05ID:VId2oWrE273デフォルトの名無しさん
2020/04/30(木) 14:31:36.43ID:gdZAiUWY 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
274デフォルトの名無しさん
2020/04/30(木) 14:31:36.48ID:gdZAiUWY 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
POSIX
抽出レス数:28
スレタイに【POSIX】いれとけよ
抽出レス数:28
スレタイに【POSIX】いれとけよ
276デフォルトの名無しさん
2020/04/30(木) 19:21:05.71ID:04alJDEx277デフォルトの名無しさん
2020/04/30(木) 22:12:56.14ID:3EPTcWkg posix準拠かどうかを自動判定するプログラムはないのか?
278デフォルトの名無しさん
2020/04/30(木) 23:40:43.12ID:02DTS3d8 bash、tcsh、zsh などが持つ拡張機能を持たない
POSIX互換を目指す
シェルで -n で
POSIX互換を目指す
シェルで -n で
279デフォルトの名無しさん
2020/05/01(金) 12:30:18.70ID:xBnPf/RZ >>275
例えば「C言語総合スレ」で
ISO CやJIS Cについての言及が全スレ中10%を占めていたとして,
そのことを以って「スレタイにISO C/JIS Cって明記しろ!」って言う?
いや,言うんだったら,まあ何も言えないけどw
例えば「C言語総合スレ」で
ISO CやJIS Cについての言及が全スレ中10%を占めていたとして,
そのことを以って「スレタイにISO C/JIS Cって明記しろ!」って言う?
いや,言うんだったら,まあ何も言えないけどw
280デフォルトの名無しさん
2020/05/02(土) 20:03:36.40ID:nkPqW+JC Oil Shellって実装されてない機能、実は多くね?
どこかに一覧でまとめられてるじゃないかと思うんだけど
わかってて未実装なのか、忘れられてるのかどっちなのかわからん
報告すべきなのかどうか
どこかに一覧でまとめられてるじゃないかと思うんだけど
わかってて未実装なのか、忘れられてるのかどっちなのかわからん
報告すべきなのかどうか
281デフォルトの名無しさん
2020/05/02(土) 20:48:38.90ID:SU0LbRTW 「実は」っていうか,べつに公式に「POSIXに完全準拠しました!」なんて言ってねーしなw
ただ単に着実に対応していっているっていう,それだけ。
まだ1.0ですらないし,何を期待してるんだか。
ただ単に着実に対応していっているっていう,それだけ。
まだ1.0ですらないし,何を期待してるんだか。
282デフォルトの名無しさん
2020/05/02(土) 21:33:14.83ID:nkPqW+JC うん。聞いてるのは実装されてる機能されてない機能の一覧ね
いい加減、反論されたクソって!思い込んで突っ走るのはやめようよw
いい加減、反論されたクソって!思い込んで突っ走るのはやめようよw
283デフォルトの名無しさん
2020/05/02(土) 23:08:33.17ID:DEDgA8fc 自己紹介
284デフォルトの名無しさん
2020/05/03(日) 12:41:29.86ID:Wpoh2lE+ Oilシェルに親でも殺されたのかな?(すっとぼけ)
285デフォルトの名無しさん
2020/05/10(日) 09:42:55.33ID:6Ru0pW3/ fishって、プロセスの生成にposix_spawnを使っていると小耳に挟んだのですが。
macOS等、fork+execよりposix_spawnが速いとされる環境で使ったらbashとかより
性能が上がったりしますかね?
macOS等、fork+execよりposix_spawnが速いとされる環境で使ったらbashとかより
性能が上がったりしますかね?
286デフォルトの名無しさん
2020/05/10(日) 14:52:33.76ID:wRm6C2I1 1ミリ秒ぐらいは上がるんじゃね?w
287デフォルトの名無しさん
2020/05/10(日) 18:28:06.52ID:pQcD5gxy では、赤射プロセスをもう一度見てみよう
288デフォルトの名無しさん
2020/05/10(日) 19:18:19.90ID:JqEAqVcs289デフォルトの名無しさん
2020/05/12(火) 11:30:45.83ID:yS+J4vmz このシェルスクリプトは面白そう
https://www.youtube.com/watch?v=v80QzGYktK8
https://www.youtube.com/watch?v=v80QzGYktK8
290デフォルトの名無しさん
2020/05/12(火) 16:59:01.34ID:nXypJmVq 実装が面白いのかと思ったら発想が面白かった
291デフォルトの名無しさん
2020/05/17(日) 19:47:04.17ID:bpPzQdIC https://qiita.com/twrcd1227/items/35c4cdc12581b75204a5
> マジックナンバー
> マジックナンバーとは#!のこと
> シェルスクリプトの先頭には以下のようになんのシェルを使うのか明示する。
ばーかw
> マジックナンバー
> マジックナンバーとは#!のこと
> シェルスクリプトの先頭には以下のようになんのシェルを使うのか明示する。
ばーかw
292デフォルトの名無しさん
2020/05/17(日) 20:43:06.44ID:09BYrd1c 直接コメントしたれよ。こんなとこで晒すとか、くれえやつだな
マジックナンバー自体も知らないアレだとしても
マジックナンバー自体も知らないアレだとしても
293デフォルトの名無しさん
2020/05/17(日) 22:09:25.20ID:cPnKiUuj https://en.wikipedia.org/wiki/Shebang_(Unix)#Magic_number
294デフォルトの名無しさん
2020/05/18(月) 02:25:23.58ID:JVwpbSde 本人登場かという勘違いぶり
295デフォルトの名無しさん
2020/05/18(月) 11:03:25.77ID:hn05DOX5 なんつーか、入門書としては酷いから訂正しなけれいけないレベルだが
初心者が頑張って背伸びして書いていると思うと
それをめためたに指摘しまくるのも大人げないんだよなw
と思ったが、
https://qiita.com/twrcd1227/items/b7d6e16aa4e9f895a831
> 入門UNIXシェルプログラミングを読んでいく
これ、本当にこの本に書いてあることなのか?
この本有名だし流石にそんなことはないと思うが
> % echo $SHELL #今使ってるシェルの種類を調べる
真っ先から間違いなんだよな。
× 今使ってるシェル
○ ログイン時のシェル。例えばbashでログインしてzshに切り替えてもbashのまま
初心者が頑張って背伸びして書いていると思うと
それをめためたに指摘しまくるのも大人げないんだよなw
と思ったが、
https://qiita.com/twrcd1227/items/b7d6e16aa4e9f895a831
> 入門UNIXシェルプログラミングを読んでいく
これ、本当にこの本に書いてあることなのか?
この本有名だし流石にそんなことはないと思うが
> % echo $SHELL #今使ってるシェルの種類を調べる
真っ先から間違いなんだよな。
× 今使ってるシェル
○ ログイン時のシェル。例えばbashでログインしてzshに切り替えてもbashのまま
296デフォルトの名無しさん
2020/05/18(月) 11:05:59.88ID:vvPis8aR297デフォルトの名無しさん
2020/05/18(月) 11:28:16.49ID:vvPis8aR >>295
ログインシェル zsh にしてログイン後に bash 起動したらSHELL が /bin/bash にならね?
「ログイン時のシェル」は流石に「今使っているシェル」よりなお悪いんじゃねーか?
各シェルの SHELL (と shell) の変数に関する実装によるが比較的今使っているシェル
だろうとみなせる、というほうがまだ正しそう。
文脈を見てみないとわからんが、プログラム側からシェルの種類を気にするのは
ssh-agent みたいに環境変数のセットのためのコードを返すプログラムぐらいだから
csh 系ユーザかどうかだけ拾うって程度で、細かい所までは考えてないでしょ
ログインシェル zsh にしてログイン後に bash 起動したらSHELL が /bin/bash にならね?
「ログイン時のシェル」は流石に「今使っているシェル」よりなお悪いんじゃねーか?
各シェルの SHELL (と shell) の変数に関する実装によるが比較的今使っているシェル
だろうとみなせる、というほうがまだ正しそう。
文脈を見てみないとわからんが、プログラム側からシェルの種類を気にするのは
ssh-agent みたいに環境変数のセットのためのコードを返すプログラムぐらいだから
csh 系ユーザかどうかだけ拾うって程度で、細かい所までは考えてないでしょ
298デフォルトの名無しさん
2020/05/18(月) 13:55:14.67ID:hn05DOX5 >>296
マジックナンバーが#!(シバン)のことなのではなく
#!(シバン)がマジックナンバー(の一種)
違いわかる?
「アルコールとは酒のこと」といえば間違ってると理解できる?
あ、これアルコールって書いてある!つまり酒だな!ごくごくって
(消毒用)アルコールを飲むやつはアホだろう
マジックナンバーが#!(シバン)のことなのではなく
#!(シバン)がマジックナンバー(の一種)
違いわかる?
「アルコールとは酒のこと」といえば間違ってると理解できる?
あ、これアルコールって書いてある!つまり酒だな!ごくごくって
(消毒用)アルコールを飲むやつはアホだろう
299デフォルトの名無しさん
2020/05/18(月) 13:56:31.78ID:hn05DOX5 >>297
> bash 起動したらSHELL が /bin/bash にならね?
なぜそこで質問する?
わからないなら自分で調べろよ。
質問じゃないなら「/bin/bash になる」とお前は言うはずだ
> bash 起動したらSHELL が /bin/bash にならね?
なぜそこで質問する?
わからないなら自分で調べろよ。
質問じゃないなら「/bin/bash になる」とお前は言うはずだ
300デフォルトの名無しさん
2020/05/18(月) 14:00:45.61ID:hn05DOX5 ま、お前程度のやつが知らなくても仕方ないな。
有名な某あのツールですら十数年?も前から
間違っててバグ放置されてるんだしなw
(最近報告されてたんで俺は報告しないよ)
有名な某あのツールですら十数年?も前から
間違っててバグ放置されてるんだしなw
(最近報告されてたんで俺は報告しないよ)
301デフォルトの名無しさん
2020/05/18(月) 14:22:20.13ID:vvPis8aR302デフォルトの名無しさん
2020/05/18(月) 14:41:09.47ID:hn05DOX5 >>301
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
SHELL
This variable shall represent a pathname of the user's preferred command language interpreter.
はい、ばーか確定(笑)
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
SHELL
This variable shall represent a pathname of the user's preferred command language interpreter.
はい、ばーか確定(笑)
303デフォルトの名無しさん
2020/05/18(月) 16:08:58.16ID:vvPis8aR304デフォルトの名無しさん
2020/05/18(月) 21:10:24.48ID:hn05DOX5305デフォルトの名無しさん
2020/05/19(火) 00:50:38.43ID:4QqJ5tyy 出だしが>>296と無知ぶりを発揮してのでよく頑張るなと思わせるw
306デフォルトの名無しさん
2020/05/19(火) 08:40:51.02ID:+8IfJNam307デフォルトの名無しさん
2020/05/19(火) 10:14:32.16ID:zOKQOBke308デフォルトの名無しさん
2020/05/19(火) 11:45:35.05ID:+8IfJNam309デフォルトの名無しさん
2020/05/19(火) 12:42:00.98ID:zOKQOBke >>308
それと同じことを言ってる人をググって見つけてこれる?
そういうのが根拠。誰もいないよね。
「俺は○○だ」は根拠じゃなくてお前の主張
その主張の根拠を見つけてきてって言ってるのに
主張を繰り返されても困るw
それと同じことを言ってる人をググって見つけてこれる?
そういうのが根拠。誰もいないよね。
「俺は○○だ」は根拠じゃなくてお前の主張
その主張の根拠を見つけてきてって言ってるのに
主張を繰り返されても困るw
310デフォルトの名無しさん
2020/05/19(火) 15:11:40.95ID:+8IfJNam311デフォルトの名無しさん
2020/05/19(火) 15:14:56.79ID:O4jzhFRD むかし北斗の拳というアニメがあったのだが、「お前はもう死んでいる!」と言った瞬間、ケンシロウの頭が「プシャー、ヒデブ!」ってなるような人が、掲示板には居るよね。
ふと思っただけで、特定の誰かを指して言うわけじゃないのだが。
ふと思っただけで、特定の誰かを指して言うわけじゃないのだが。
312デフォルトの名無しさん
2020/05/19(火) 16:11:09.24ID:41YM3k+D >>310
もう飽きた。トドメさしとくね
SHELL environment variable still points to zsh after using bash
SHELL環境変数は、bashを使用した後もzshを指します
https://unix.stackexchange.com/questions/522907/shell-environment-variable-still-points-to-zsh-after-using-bash
SHELL is an environment variable that is passed from bash to zsh when you call zsh.
SHELL is not one of the Parameters Set By The Shell in zsh, so its value remains intact.
SHELLは、zshを呼び出すときにbashからzshに渡される環境変数です。
SHELLはzshのシェルによって設定されるパラメーターの1つではないため、その値はそのまま残ります。
man login
ユーザ ID とグループの ID は /etc/p@sswd ファイル中に記載されている値に従って設定される。
$HOME, $SHELL, $PATH, $LOGNAME, $MAIL の値は、パスワードエントリのそれぞれの
フィールドに従って設定される。 ulimit, umask, nice 値が、 GECOS フィールドの
エントリーによって設定されることもある。
もう飽きた。トドメさしとくね
SHELL environment variable still points to zsh after using bash
SHELL環境変数は、bashを使用した後もzshを指します
https://unix.stackexchange.com/questions/522907/shell-environment-variable-still-points-to-zsh-after-using-bash
SHELL is an environment variable that is passed from bash to zsh when you call zsh.
SHELL is not one of the Parameters Set By The Shell in zsh, so its value remains intact.
SHELLは、zshを呼び出すときにbashからzshに渡される環境変数です。
SHELLはzshのシェルによって設定されるパラメーターの1つではないため、その値はそのまま残ります。
man login
ユーザ ID とグループの ID は /etc/p@sswd ファイル中に記載されている値に従って設定される。
$HOME, $SHELL, $PATH, $LOGNAME, $MAIL の値は、パスワードエントリのそれぞれの
フィールドに従って設定される。 ulimit, umask, nice 値が、 GECOS フィールドの
エントリーによって設定されることもある。
313デフォルトの名無しさん
2020/05/19(火) 16:14:39.49ID:41YM3k+D https://unix.stackexchange.com/questions/71121/determine-shell-in-script-during-runtime
You can use the command:
$ echo $SHELL
to find out the shell from within the script.
No. $SHELL is the shell of choice of the user. Initialised from the login shell of the user.
Nothing to do with the currently running shell.
いいえ。$ SHELLはユーザーが選択するシェルです。ユーザーのログインシェルから初期化されます。現在実行中のシェルとは関係ありません
You can use the command:
$ echo $SHELL
to find out the shell from within the script.
No. $SHELL is the shell of choice of the user. Initialised from the login shell of the user.
Nothing to do with the currently running shell.
いいえ。$ SHELLはユーザーが選択するシェルです。ユーザーのログインシェルから初期化されます。現在実行中のシェルとは関係ありません
314デフォルトの名無しさん
2020/05/19(火) 16:16:06.85ID:41YM3k+D man bash
SHELL この環境変数にシェルのフルパス名が保存されています。
シェルを起動したときに設定されていない場合は、 bash が現在のユーザのログイン
シェルのフルパス名を代入します。
SHELL この環境変数にシェルのフルパス名が保存されています。
シェルを起動したときに設定されていない場合は、 bash が現在のユーザのログイン
シェルのフルパス名を代入します。
315デフォルトの名無しさん
2020/05/19(火) 17:04:50.75ID:Yw4hD4hb POSIXシェルの\x80--\xFEあたりのバイト列の取り扱いって,何か規定されてます?
\x00--\x7Fの取り扱いについては
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html#tag_06_04
ここに載ってるけど。
\x00--\x7Fの取り扱いについては
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html#tag_06_04
ここに載ってるけど。
316デフォルトの名無しさん
2020/05/19(火) 17:40:08.90ID:+8IfJNam ミスリードさせる気まんまんの書き込みばかりして
頑なに自分の環境での実行結果は貼らないのはなんで?w
『「アルコールとは酒のこと」といえば間違ってると理解できる?』
って書き込んだ奴はどこに行った?
頑なに自分の環境での実行結果は貼らないのはなんで?w
『「アルコールとは酒のこと」といえば間違ってると理解できる?』
って書き込んだ奴はどこに行った?
317デフォルトの名無しさん
2020/05/19(火) 18:30:30.69ID:3kLN/2rB318デフォルトの名無しさん
2020/05/19(火) 19:00:31.56ID:3kLN/2rB319デフォルトの名無しさん
2020/05/19(火) 19:56:07.96ID:8HY/3oGP 「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
320デフォルトの名無しさん
2020/05/19(火) 20:30:16.61ID:+8IfJNam321デフォルトの名無しさん
2020/05/19(火) 20:45:45.83ID:3kLN/2rB 俺は違うからな、お前に延々と付き合っていたのとは
お前は全く間違いの反論でだから、お前がどう挙げつらおうがお前の責め手にはならんだろう、何を勝ち誇って(?)いるんだか
お前自身で、その未だに言い出してる自分の間違いを認め誤りの訂正お礼なんぞもしてないくせに
自分の大きな間違いをごまかす消化するために小さな間違いをあげつらってるだけだな、しつこく繰り返してるとこからは
お前は全く間違いの反論でだから、お前がどう挙げつらおうがお前の責め手にはならんだろう、何を勝ち誇って(?)いるんだか
お前自身で、その未だに言い出してる自分の間違いを認め誤りの訂正お礼なんぞもしてないくせに
自分の大きな間違いをごまかす消化するために小さな間違いをあげつらってるだけだな、しつこく繰り返してるとこからは
322デフォルトの名無しさん
2020/05/19(火) 21:56:10.07ID:41YM3k+D >>318
> の間違いは「ログイン時のシェル」と言ったことだけだな
諦めて読めな?
> man bash
>
> SHELL この環境変数にシェルのフルパス名が保存されています。
> シェルを起動したときに設定されていない場合は、 bash が現在のユーザのログイン
> シェルのフルパス名を代入します。
> の間違いは「ログイン時のシェル」と言ったことだけだな
諦めて読めな?
> man bash
>
> SHELL この環境変数にシェルのフルパス名が保存されています。
> シェルを起動したときに設定されていない場合は、 bash が現在のユーザのログイン
> シェルのフルパス名を代入します。
323デフォルトの名無しさん
2020/05/19(火) 21:58:18.44ID:41YM3k+D324デフォルトの名無しさん
2020/05/19(火) 22:12:04.54ID:3kLN/2rB >>322
>>318の最後の行でそれを補足してるんだがな
>>302の user's preferred command language interpreter
で間違いないだろう、それ以上でもそれ以下でもない。ログインシェル自体が(ユーザデフォルトの) user's preferred command language interpreter だから&それしか多分設定するとこがないから、ログインシェルが設定されてるだけかな
手動で、今の俺の気分はログインシェルとは違うこのシェルなんだと、
SHELL=なんか
sudo -s
user's preferred command language interpreter が実感できなくね?
で、bashではそう書いてあるらしいが、(ほぼなんもしてない)dashってどうなってるんだろうと、ソースをチラ見した限りはそんな風なとこちょっと見えないな。OSがなのかな?
ああ、もちろん>>323なんてのは嘘(逆にどんな環境やねん)、dashでもSHELLに設定されてるし、そこからbashを起動してもSHELLはbashのパスには変わらない
>>318の最後の行でそれを補足してるんだがな
>>302の user's preferred command language interpreter
で間違いないだろう、それ以上でもそれ以下でもない。ログインシェル自体が(ユーザデフォルトの) user's preferred command language interpreter だから&それしか多分設定するとこがないから、ログインシェルが設定されてるだけかな
手動で、今の俺の気分はログインシェルとは違うこのシェルなんだと、
SHELL=なんか
sudo -s
user's preferred command language interpreter が実感できなくね?
で、bashではそう書いてあるらしいが、(ほぼなんもしてない)dashってどうなってるんだろうと、ソースをチラ見した限りはそんな風なとこちょっと見えないな。OSがなのかな?
ああ、もちろん>>323なんてのは嘘(逆にどんな環境やねん)、dashでもSHELLに設定されてるし、そこからbashを起動してもSHELLはbashのパスには変わらない
325デフォルトの名無しさん
2020/05/19(火) 22:15:18.55ID:41YM3k+D >>324
何をごちゃごちゃ言ってるのか知らんけど、
> 俺の環境ではログインシェルを zsh にしてログイン後に bash 起動したけど
> SHELL 変数は /bin/bash でしたよ?
↑これはman bashからみて絶対にありえないし
SHELL環境変数はログイン時のシェルなんだよ
まさか(自分で変更したら)ログイン時のシェルじゃない!
とか言いたいんか?
何をごちゃごちゃ言ってるのか知らんけど、
> 俺の環境ではログインシェルを zsh にしてログイン後に bash 起動したけど
> SHELL 変数は /bin/bash でしたよ?
↑これはman bashからみて絶対にありえないし
SHELL環境変数はログイン時のシェルなんだよ
まさか(自分で変更したら)ログイン時のシェルじゃない!
とか言いたいんか?
326デフォルトの名無しさん
2020/05/19(火) 22:18:59.32ID:41YM3k+D > dashでもSHELLに設定されてるし、
それはどこに書いてあんの?
ソースコード見たなら書いてある場所ぐらい言えるよね
それはどこに書いてあんの?
ソースコード見たなら書いてある場所ぐらい言えるよね
327デフォルトの名無しさん
2020/05/19(火) 22:20:16.13ID:41YM3k+D 訂正
× まさか(自分で変更したら)ログイン時のシェルじゃない!
○ まさか(ログイン後に自分でSHELL変数の内容を変更したら)ログイン時のシェルじゃない!
× まさか(自分で変更したら)ログイン時のシェルじゃない!
○ まさか(ログイン後に自分でSHELL変数の内容を変更したら)ログイン時のシェルじゃない!
328デフォルトの名無しさん
2020/05/19(火) 22:21:16.50ID:3kLN/2rB >>325
何をムキになってるんだかwお前の読めない読まない病かよ?
ser's preferred command language interpreter
で間違いないだろう、それ以上でもそれ以下でもない。変数の意味だろ、そもそもは
意味としては、ログインシェルじゃないのも設定できる、ser's preferred command language interpreter だって話だよ
誰も、bashで変わるなんて言ってないのに、何を言い出してるんだか
何をムキになってるんだかwお前の読めない読まない病かよ?
ser's preferred command language interpreter
で間違いないだろう、それ以上でもそれ以下でもない。変数の意味だろ、そもそもは
意味としては、ログインシェルじゃないのも設定できる、ser's preferred command language interpreter だって話だよ
誰も、bashで変わるなんて言ってないのに、何を言い出してるんだか
329デフォルトの名無しさん
2020/05/19(火) 22:22:53.62ID:3kLN/2rB330デフォルトの名無しさん
2020/05/19(火) 22:24:45.56ID:3kLN/2rB まさか、こんな展開になるとは思わんかったな。なんでムキになってるんだか
331デフォルトの名無しさん
2020/05/19(火) 22:33:25.89ID:Yw4hD4hb >>315
議論中すいません。ageます
議論中すいません。ageます
332デフォルトの名無しさん
2020/05/19(火) 22:36:50.04ID:+8IfJNam man と実装が違っているのは確認してるよ
でも事実複数バージョン(bash 4.2系/4.4系)でこの動きをするんで
「zsh をログインシェルでbash起動したら SHELL が bash に
なった」発言を撤回するのは難しいね
特に >>302 の内容が決定的に撤回困難にしている
これは君が示した文書で、君を苦しめているのは君自身
ちがうか?
君の手元の環境で発生しているだろう?
小説に出てくるクソ弁護士のような論調はやめたまえ
でも事実複数バージョン(bash 4.2系/4.4系)でこの動きをするんで
「zsh をログインシェルでbash起動したら SHELL が bash に
なった」発言を撤回するのは難しいね
特に >>302 の内容が決定的に撤回困難にしている
これは君が示した文書で、君を苦しめているのは君自身
ちがうか?
君の手元の環境で発生しているだろう?
小説に出てくるクソ弁護士のような論調はやめたまえ
333デフォルトの名無しさん
2020/05/19(火) 22:45:31.09ID:3kLN/2rB >>332
どんな環境やねん
こっちで確認できる複数の環境でそんなのならんから、嘘としか思えんぞ
自分で環境がとかいいだしてるんだから、言えよw
仮にbash4だけの話なら、bash3、bash5ではそうならんから、bash4のバグじゃないの?bash4ってなんでやねん
どんな環境やねん
こっちで確認できる複数の環境でそんなのならんから、嘘としか思えんぞ
自分で環境がとかいいだしてるんだから、言えよw
仮にbash4だけの話なら、bash3、bash5ではそうならんから、bash4のバグじゃないの?bash4ってなんでやねん
334デフォルトの名無しさん
2020/05/19(火) 22:46:32.45ID:3kLN/2rB >>331
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap06.html
「ここに載っている」のはそういうことらしい。その中でも規定されてるのはって話かな、上記のは
それ以外は特に制御文字としては扱わない。\x00--\x7F内でも言及してないのは
\x80--\xFEなんてロケール/キャラクターセット依存だからそれぞれのキャラクターセット/文字コードでの話だろう。もちろんその中に制御文字なんてないんじゃないかな
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap06.html
「ここに載っている」のはそういうことらしい。その中でも規定されてるのはって話かな、上記のは
それ以外は特に制御文字としては扱わない。\x00--\x7F内でも言及してないのは
\x80--\xFEなんてロケール/キャラクターセット依存だからそれぞれのキャラクターセット/文字コードでの話だろう。もちろんその中に制御文字なんてないんじゃないかな
335デフォルトの名無しさん
2020/05/19(火) 22:53:45.57ID:3kLN/2rB336デフォルトの名無しさん
2020/05/19(火) 22:54:59.35ID:fsFcCZSO >>332 bash_profile あたりに SHELL=/bin/bash とか書いてるんじゃないの?
337デフォルトの名無しさん
2020/05/19(火) 23:04:14.14ID:3kLN/2rB なるほど....!w
338デフォルトの名無しさん
2020/05/19(火) 23:04:16.77ID:41YM3k+D339デフォルトの名無しさん
2020/05/19(火) 23:05:04.34ID:41YM3k+D340デフォルトの名無しさん
2020/05/19(火) 23:07:18.47ID:41YM3k+D >>332
> 特に >>302 の内容が決定的に撤回困難にしている
> これは君が示した文書で、君を苦しめているのは君自身
> ちがうか?
意味不。 >>302の内容は
SHELL
This variable shall represent a pathname of the user's preferred command language interpreter.
この変数は、ユーザーの優先コマンド言語インタープリターのパス名を表します。
と書いてある通り、ユーザーの優先、つまりログインシェルのこと
それ以外のどういう意味があるんだよ?zshでログインしてbash起動したら
bashがユーザーの優先になるんだ!ってお前は言いたいんか?
> 特に >>302 の内容が決定的に撤回困難にしている
> これは君が示した文書で、君を苦しめているのは君自身
> ちがうか?
意味不。 >>302の内容は
SHELL
This variable shall represent a pathname of the user's preferred command language interpreter.
この変数は、ユーザーの優先コマンド言語インタープリターのパス名を表します。
と書いてある通り、ユーザーの優先、つまりログインシェルのこと
それ以外のどういう意味があるんだよ?zshでログインしてbash起動したら
bashがユーザーの優先になるんだ!ってお前は言いたいんか?
341デフォルトの名無しさん
2020/05/19(火) 23:09:21.26ID:41YM3k+D > dashのソース中にはチラ見ではちょっとそういうのを設定しているとこは見えないけどって話。どこでやってんのかなあって話
SHELL環境変数は基本的に外部から渡される環境変数なんだから、そんなものなくても当たり前
bashは空だった場合に自分で設定しているようだが、それは空だった場合の話で
入っていればなにもしないということ
SHELL環境変数は基本的に外部から渡される環境変数なんだから、そんなものなくても当たり前
bashは空だった場合に自分で設定しているようだが、それは空だった場合の話で
入っていればなにもしないということ
342デフォルトの名無しさん
2020/05/19(火) 23:14:34.20ID:3kLN/2rB343デフォルトの名無しさん
2020/05/19(火) 23:16:01.88ID:41YM3k+D 手元の動作と周りの情報が全部違っていたら、自分の手元が間違ってるって考えないもんかねw
なんで俺の手元で再現させる?再現してないからそれは違うって言ってるに決まってるだろ
常識として「自分の手元だけで発生してる」は信用ならんから
ソースとして外部の情報を参照しろって言ってるのに、こいつは手元しか見ていない
なんで俺の手元で再現させる?再現してないからそれは違うって言ってるに決まってるだろ
常識として「自分の手元だけで発生してる」は信用ならんから
ソースとして外部の情報を参照しろって言ってるのに、こいつは手元しか見ていない
344デフォルトの名無しさん
2020/05/19(火) 23:21:55.33ID:3kLN/2rB345デフォルトの名無しさん
2020/05/19(火) 23:22:13.23ID:41YM3k+D はい。誰でも簡単に再現できます(笑)
bashを起動したところでSHELLは再設定などされません
(dashはSHELLが空の場合は自分で設定などしないんだな)
$ docker run -it debian dash
# echo $SHELL
# export SHELL=abc
# echo $SHELL
abc
# bash
root@58fdfabe096c:/# $SHELL
abc
bashを起動したところでSHELLは再設定などされません
(dashはSHELLが空の場合は自分で設定などしないんだな)
$ docker run -it debian dash
# echo $SHELL
# export SHELL=abc
# echo $SHELL
abc
# bash
root@58fdfabe096c:/# $SHELL
abc
346デフォルトの名無しさん
2020/05/19(火) 23:22:42.25ID:41YM3k+D347デフォルトの名無しさん
2020/05/19(火) 23:24:47.87ID:3kLN/2rB >>346
ww
ww
348デフォルトの名無しさん
2020/05/19(火) 23:25:40.73ID:41YM3k+D debian 7がbash 4.2.37だな
docker run -it debian:7 dash でやればいい。結果は同じだが
docker run -it debian:7 dash でやればいい。結果は同じだが
349デフォルトの名無しさん
2020/05/19(火) 23:29:44.81ID:41YM3k+D いい加減理解したかね?俺なんか数年前に
「あぁ!?SHELLは現在のシェルじゃねーのかよ!
現在のシェルのパスはどうやって調べればいいんだよ!」
で苦労してんだから間違いなわけねーっつーの
「あぁ!?SHELLは現在のシェルじゃねーのかよ!
現在のシェルのパスはどうやって調べればいいんだよ!」
で苦労してんだから間違いなわけねーっつーの
350デフォルトの名無しさん
2020/05/20(水) 00:20:43.81ID:91fxSgSA Windows10, WSL, Ubuntu 18.04 で、やったら、
echo $SHELL
/bin/bash
>>336
/etc/@passwd に、デフォルトシェルが設定してある
ユーザー名:x:1000:1000:,,,:/home/ユーザー名:/bin/bash
echo $SHELL
/bin/bash
>>336
/etc/@passwd に、デフォルトシェルが設定してある
ユーザー名:x:1000:1000:,,,:/home/ユーザー名:/bin/bash
351デフォルトの名無しさん
2020/05/20(水) 00:24:36.85ID:9QbBPRXg こいつは一体誰と戦ってるんだ・・・
352デフォルトの名無しさん
2020/05/20(水) 00:44:53.45ID:InboTxWs353デフォルトの名無しさん
2020/05/20(水) 01:16:06.12ID:2U5TD7Rg WSLは変態だから、bash.exe で(WSLを)起動すると、chsh/passwd直接などでログインシェルを他のにしても無視されて、bashがログインシェル(?)になる。当然、SHELLは/bin/bash
ログインシェルをzshに変えた、bash.exeで起動した、(bashが起動してるしSHELLはすでに/bin/bashだけど、)、コマンドラインでbashを起動した。SHELLが/bin/bashになってる変わった!
とかか?w
WSLでもubuntu.exeで起動したらまともに起動するっぽいし、他の正規のUnix/Linuxと同じ動作にしかならんな
ログインシェルをzshに変えた、bash.exeで起動した、(bashが起動してるしSHELLはすでに/bin/bashだけど、)、コマンドラインでbashを起動した。SHELLが/bin/bashになってる変わった!
とかか?w
WSLでもubuntu.exeで起動したらまともに起動するっぽいし、他の正規のUnix/Linuxと同じ動作にしかならんな
354デフォルトの名無しさん
2020/05/20(水) 10:06:46.91ID:9mY3JetI >>334
thx
thx
355デフォルトの名無しさん
2020/05/20(水) 10:09:40.38ID:9mY3JetI 結局,現在使ってるシェルを確かめる最も可搬で確実な方法って
ps -o comm= -p $$
↑これかな。
ps -o comm= -p $$
↑これかな。
356デフォルトの名無しさん
2020/05/20(水) 10:31:11.68ID:InboTxWs357デフォルトの名無しさん
2020/05/20(水) 13:58:16.99ID:9mY3JetI そりゃ完璧ではないだろうけど。
でもまぁ,「最も」可搬な方法ではあるのよね。
でもまぁ,「最も」可搬な方法ではあるのよね。
358デフォルトの名無しさん
2020/05/20(水) 14:29:26.47ID:InboTxWs 真面目に出力をパースすれば最も可搬になる
359デフォルトの名無しさん
2020/05/21(木) 18:22:14.34ID:eGAQdhfO そうかなぁ。
その出力がシステムの間で共通していないから,出力を指定するオプションを付ける必要があるんだけど,
そのオプションにすら可搬性がない,っていう状況だと認識してる。
>>358
ちなみに「真面目なパース」の例を挙げてほしい。
その出力がシステムの間で共通していないから,出力を指定するオプションを付ける必要があるんだけど,
そのオプションにすら可搬性がない,っていう状況だと認識してる。
>>358
ちなみに「真面目なパース」の例を挙げてほしい。
360デフォルトの名無しさん
2020/05/21(木) 18:33:46.87ID:C3uZcQQo dash,ksh,zshでの、-c でだと、
ps -p $$ は ps 自身になってるんだけど、なんでやねんっと思わなくもない
-c だから別にいいだろうけど
ps -p $$ は ps 自身になってるんだけど、なんでやねんっと思わなくもない
-c だから別にいいだろうけど
361デフォルトの名無しさん
2020/05/21(木) 18:38:04.04ID:C3uZcQQo ああ、(最後の)コマンドをexecしてんのか。納得した
362デフォルトの名無しさん
2020/05/21(木) 19:15:46.38ID:C3uZcQQo ああ、bashもps(というかコマンド一つだけならか?)だけならps自身だったexecしてた
363デフォルトの名無しさん
2020/05/22(金) 10:18:39.53ID:TfVZs9xf ???
364デフォルトの名無しさん
2020/05/22(金) 16:42:02.19ID:ZQuJuyf5 えーと、良かったね。「なんでやねんっ」で終わるよりは。
365デフォルトの名無しさん
2020/05/22(金) 17:19:36.41ID:VBkbngi+ マウントとりの変形
366デフォルトの名無しさん
2020/05/22(金) 20:59:32.61ID:ZQuJuyf5 何のことだ? 自分で調べて納得したなら間違いなく良いことだし、本来そうあるべきだろう。
367デフォルトの名無しさん
2020/05/23(土) 07:51:59.95ID:0T8MjFiT 頓珍漢な擁護してて草
368デフォルトの名無しさん
2020/05/23(土) 11:11:44.65ID:Ify9JmqW >>359
> ちなみに「真面目なパース」の例を挙げてほしい。
1. ps する
2. 一行目を読み取る
3. PIDが1列目、COMMANDが○列目ってわかる
4. 二行目移行を読み取っていく
5. PIDが一致したら、同じ行の○列目を参照する
6. それが起動してるシェルだ
なお、普通にシェルでプログラミングしろ
シェル芸でこれをやろうとするなよ
この程度の処理プログラミングとして考えれば
ほんの数行で終わる簡単な処理なんだが
シェル芸でやろうとして逆に難しくするやつがいる
シェル使ってるやつは、プログラミングができないやつが多い
> ちなみに「真面目なパース」の例を挙げてほしい。
1. ps する
2. 一行目を読み取る
3. PIDが1列目、COMMANDが○列目ってわかる
4. 二行目移行を読み取っていく
5. PIDが一致したら、同じ行の○列目を参照する
6. それが起動してるシェルだ
なお、普通にシェルでプログラミングしろ
シェル芸でこれをやろうとするなよ
この程度の処理プログラミングとして考えれば
ほんの数行で終わる簡単な処理なんだが
シェル芸でやろうとして逆に難しくするやつがいる
シェル使ってるやつは、プログラミングができないやつが多い
369デフォルトの名無しさん
2020/05/23(土) 15:58:02.30ID:ch2ICEVw 「シェルを使う」という表現に一体どんな意味を込めているのやら...
370デフォルトの名無しさん
2020/05/23(土) 17:56:41.50ID:hM7sXxSn371デフォルトの名無しさん
2020/05/23(土) 18:04:41.89ID:31g10QWp コードのコの字も出てないのに。少しはコードがあっての話でしか無いな
372デフォルトの名無しさん
2020/05/24(日) 14:47:54.65ID:Y1ZXEm/L age
373デフォルトの名無しさん
2020/05/24(日) 15:32:04.04ID:0WjVzP+p 入れてみてわかるシェルの良さ
374デフォルトの名無しさん
2020/05/24(日) 15:48:48.76ID:FTfvJDOJ 何入れてるの?
375デフォルトの名無しさん
2020/05/24(日) 16:42:21.69ID:LIiHhrYu fishです(AA略)
376デフォルトの名無しさん
2020/05/24(日) 16:46:49.93ID:FTfvJDOJ fishはPOSIXシェルじゃないから駄目だね
377デフォルトの名無しさん
2020/05/24(日) 20:51:41.67ID:vB1Q/4mw >>368
途中に時間が入っていると面倒なんだな
途中に時間が入っていると面倒なんだな
378デフォルトの名無しさん
2020/05/24(日) 22:40:02.98ID:oexHBYog Nushellがじわじわと来てるらしいよ
https://www.nushell.sh/
https://www.nushell.sh/
379デフォルトの名無しさん
2020/05/25(月) 04:14:56.98ID:sIgPYriA >>377
時間を気にする必要でもあんの?
時間を気にする必要でもあんの?
380デフォルトの名無しさん
2020/05/25(月) 08:11:38.36ID:heJMc7oc381デフォルトの名無しさん
2020/05/26(火) 10:37:11.76ID:DUXfe990 busyboxな環境(tiny core linux)でバックグラウンドプロセスの終了待機を行いたいんですが
psコマンドにPIDを指定する-pオプションがないので途方にくれています。
バックグラウンドプロセスは自分で起動するのでプロセスのPIDは取れてます。
psコマンドの一覧からPIDでgrepすると関係ないのも引っかかる可能性があるため困ってます。
他の手段て何かないでしょうか。
psコマンドにPIDを指定する-pオプションがないので途方にくれています。
バックグラウンドプロセスは自分で起動するのでプロセスのPIDは取れてます。
psコマンドの一覧からPIDでgrepすると関係ないのも引っかかる可能性があるため困ってます。
他の手段て何かないでしょうか。
382デフォルトの名無しさん
2020/05/26(火) 10:48:37.13ID:5zsa2F3Z383デフォルトの名無しさん
2020/05/26(火) 11:01:33.46ID:5zsa2F3Z >>381
どーでもいいけど、なんでバックグラウンドプロセスの終了待機でpsコマンドなんか使うの?
どーでもいいけど、なんでバックグラウンドプロセスの終了待機でpsコマンドなんか使うの?
384デフォルトの名無しさん
2020/05/26(火) 11:10:30.99ID:5zsa2F3Z シェル芸界隈の人間って、psをgrepで〜とか重い方法しか知らないよねw
385デフォルトの名無しさん
2020/05/26(火) 13:11:20.00ID:EtaD8bXQ rubyのspawnで 起動したプロセスを、終了待ちしたり、強制終了したり、親プロセスと一緒に殺す
https://takuya-1st.hatenablog.jp/entry/2016/04/07/040451
Ruby で、子プロセス起動をして、終了待ちをする。
終了待ちするには Process.wait( pid ) か、Process.waitall を使う
i = spawn(" sleep 10 " )
Process.wait i
https://takuya-1st.hatenablog.jp/entry/2016/04/07/040451
Ruby で、子プロセス起動をして、終了待ちをする。
終了待ちするには Process.wait( pid ) か、Process.waitall を使う
i = spawn(" sleep 10 " )
Process.wait i
386デフォルトの名無しさん
2020/05/26(火) 16:37:31.19ID:s8Kl2PhF387デフォルトの名無しさん
2020/05/26(火) 18:30:47.45ID:DUXfe990 ps | awk '{print $1}' | grep -w $PID
grepで-wオプションが使えることが判ったのでこれで取れました
grepで-wオプションが使えることが判ったのでこれで取れました
388デフォルトの名無しさん
2020/05/26(火) 18:52:54.27ID:5zsa2F3Z389デフォルトの名無しさん
2020/05/26(火) 18:53:49.06ID:5zsa2F3Z それに自分で起動したプロセスを待つだけ(何もしなくていい)なら
wait "$PID" でもいいよね?
wait "$PID" でもいいよね?
390デフォルトの名無しさん
2020/05/26(火) 20:23:33.32ID:DUXfe990391デフォルトの名無しさん
2020/05/28(木) 12:28:14.58ID:n9bIhKS2 上の方でOil Shellについて語っていた人がいたから誰か使ってるかもしれないと思って聞くけど
export -fを使おうとすると 'export' doesn't accept -f because it's dangerous.
ってエラーになるんだけどdangerousなのってどういう場合?
また一般的にexport -fは危険だから使うな派って存在するの?
export -fを使おうとすると 'export' doesn't accept -f because it's dangerous.
ってエラーになるんだけどdangerousなのってどういう場合?
また一般的にexport -fは危険だから使うな派って存在するの?
392デフォルトの名無しさん
2020/05/28(木) 18:03:48.14ID:RKI8PBxM393デフォルトの名無しさん
2020/05/29(金) 00:50:25.00ID:ECv3RSEQ >>392
それはどういう理由でしょうか?
それはどういう理由でしょうか?
394デフォルトの名無しさん
2020/05/29(金) 11:48:42.39ID:cDEYRYlQ シェル変数、環境変数、関数は重要なものが多い
システムの動作、セキュリティなどに重要な影響を与えるものが多い
不用意に操作すると深刻な問題が起きる可能性が高い
こんなところでしょうか
システムの動作、セキュリティなどに重要な影響を与えるものが多い
不用意に操作すると深刻な問題が起きる可能性が高い
こんなところでしょうか
395デフォルトの名無しさん
2020/05/29(金) 13:13:25.07ID:5WC69G2H つまりシェル変数、環境変数、関数を使うなってこと?
396デフォルトの名無しさん
2020/05/29(金) 17:26:04.52ID:dZOo8Hm0 よく知らない人は使わないに越したことはない
というところかなあ
よく知らない人が使うと
重要なものを上書きしてしまうことがあるし
というところかなあ
よく知らない人が使うと
重要なものを上書きしてしまうことがあるし
397デフォルトの名無しさん
2020/05/29(金) 17:36:28.66ID:PKgR6prj 重要なものを上書きしてしまうというのは
どういう例でしょうか?
どういう例でしょうか?
398デフォルトの名無しさん
2020/05/29(金) 19:48:52.09ID:jz7GhSHA そりゃまあ,素人は出刃包丁なんて使わんほうがいいわな。
職人が使ったらすごく良い道具であろうとも。
職人が使ったらすごく良い道具であろうとも。
399デフォルトの名無しさん
2020/05/29(金) 20:22:22.27ID:Jvc7lzH+ 出刃包丁の話はしてません
400デフォルトの名無しさん
2020/05/29(金) 21:34:05.33ID:dZOo8Hm0 >>397
signal とか?
signal とか?
401デフォルトの名無しさん
2020/05/29(金) 21:48:30.89ID:Jvc7lzH+ >>400
今の話に何の関係があるの?
今の話に何の関係があるの?
402デフォルトの名無しさん
2020/05/31(日) 15:21:54.45ID:sIM3dDR8 >>399
えぇ……と,比喩っていう概念がこの世界にはあってね,
つまり物事を説明するときに例えを用いるんだわ。
まぁ例えば会社で品質管理の監査を受けてるときに
比喩を使って説明するのはよくないかも知れんが,
こんな場末の掲示板で一々真面目に受け答えする方がオカシイって話ですよ。
えぇ……と,比喩っていう概念がこの世界にはあってね,
つまり物事を説明するときに例えを用いるんだわ。
まぁ例えば会社で品質管理の監査を受けてるときに
比喩を使って説明するのはよくないかも知れんが,
こんな場末の掲示板で一々真面目に受け答えする方がオカシイって話ですよ。
403デフォルトの名無しさん
2020/05/31(日) 15:27:43.93ID:JRHRMyge404デフォルトの名無しさん
2020/05/31(日) 17:59:31.00ID:sIM3dDR8 あぁ,あの書き方で「批判してる」って捉えちゃうのか。
あいにく,読み取り能力のない人間にまでモノを教える程暇じゃないんでね。
あいにく,読み取り能力のない人間にまでモノを教える程暇じゃないんでね。
405デフォルトの名無しさん
2020/05/31(日) 20:56:34.13ID:9ZicJfwX 質問されたからその都度答えていても
おかしな受け取られ方すると、やる気なくすよねぇ
おかしな受け取られ方すると、やる気なくすよねぇ
406デフォルトの名無しさん
2020/06/03(水) 11:21:10.07ID:i+Bz2w1U シェルの勉強中です。
引数にフルパスでファイル名を入れています。
シェル の動きとして引数がフルパスでなかった場合、エラーにしたいのですが、フルパスの判定はどうしたらいいでしょうか。
自分なりに考えたのは、
A=locate $1
if [ A = $1 ]
みたいな感じでlocateの実行結果と引数を比較して、完全一致しなかったら、フルパスじゃないのでエラーとしていました。
ただこの場合、例えばsyslogを指定した場合、locateにsyslogのバックアップ(syslog_0603みたいな)も引っかかってしまって上手く動作しませんでした
引数にフルパスでファイル名を入れています。
シェル の動きとして引数がフルパスでなかった場合、エラーにしたいのですが、フルパスの判定はどうしたらいいでしょうか。
自分なりに考えたのは、
A=locate $1
if [ A = $1 ]
みたいな感じでlocateの実行結果と引数を比較して、完全一致しなかったら、フルパスじゃないのでエラーとしていました。
ただこの場合、例えばsyslogを指定した場合、locateにsyslogのバックアップ(syslog_0603みたいな)も引っかかってしまって上手く動作しませんでした
407デフォルトの名無しさん
2020/06/03(水) 11:39:11.67ID:DK1HUsdg 最初の文字が / かどうか
408デフォルトの名無しさん
2020/06/03(水) 12:18:14.74ID:gWKP5Lqg case $path in /*) echo フルパウス; esac
409デフォルトの名無しさん
2020/06/03(水) 15:17:52.52ID:i+Bz2w1U >>407
その手がありましたか。ありがとうございます
その手がありましたか。ありがとうございます
410デフォルトの名無しさん
2020/06/05(金) 09:46:48.62ID:kQNq3lIP wgetなどを使ったシェルスクリプトを作ってファイルをダウンロードしています
該当のサイトは認証が必要でログイン処理もwgetでやっているのですが
パスワードをスクリプトなりコマンドラインとして書くのを躊躇します
(cookieを使っているので1回ログインすると数ヶ月ログインする必要はありません)
なので今はログイン処理だけは別にしてreadで入力させるようにしているのですが
パスワードを暗号化して見えなくすることは出来ないでしょうか?
暗号化してるパスワードって使いまわされるんじゃ?って心配はありますが
とりあえず今回はその問題はスルーしたいと思います
該当のサイトは認証が必要でログイン処理もwgetでやっているのですが
パスワードをスクリプトなりコマンドラインとして書くのを躊躇します
(cookieを使っているので1回ログインすると数ヶ月ログインする必要はありません)
なので今はログイン処理だけは別にしてreadで入力させるようにしているのですが
パスワードを暗号化して見えなくすることは出来ないでしょうか?
暗号化してるパスワードって使いまわされるんじゃ?って心配はありますが
とりあえず今回はその問題はスルーしたいと思います
411デフォルトの名無しさん
2020/06/05(金) 15:09:48.09ID:wkE1tuCg wgetで指定したURIがセキュアなら、
パスワードもそれに乗せて送られるから、
一応経路上では暗号化されているのでは?
パスワードもそれに乗せて送られるから、
一応経路上では暗号化されているのでは?
412デフォルトの名無しさん
2020/06/05(金) 15:44:51.41ID:vEUs2R05413デフォルトの名無しさん
2020/06/05(金) 15:45:22.79ID:vEUs2R05 linuxは知らん
414デフォルトの名無しさん
2020/06/05(金) 17:08:15.88ID:MNdAWp8s Linuxについて,古い情報だけど。
https://dayflower.hatena!!!!!blog.com/entry/20081205/1228464510
この中でも触れられている通り,/proc/以下を叩かれたらおしまい。
多分これはmacOSでもWindowsでも似たりよったりな挙動だと思う
(パスワードを受け取るプロセスとWeb資源にアクセスするプロセスが
全然違う体系で動いてる以上,そこの間で暗証番号を遣り取りする際は
平文がそれに準ずる形で渡さざる得ないから)
https://dayflower.hatena!!!!!blog.com/entry/20081205/1228464510
この中でも触れられている通り,/proc/以下を叩かれたらおしまい。
多分これはmacOSでもWindowsでも似たりよったりな挙動だと思う
(パスワードを受け取るプロセスとWeb資源にアクセスするプロセスが
全然違う体系で動いてる以上,そこの間で暗証番号を遣り取りする際は
平文がそれに準ずる形で渡さざる得ないから)
415デフォルトの名無しさん
2020/06/05(金) 17:24:24.91ID:/s+vLyih >>414
それ関係ない話ですよね
それ関係ない話ですよね
416デフォルトの名無しさん
2020/06/05(金) 19:06:10.01ID:52A66Mr1 そういうのはopenssl使ってるけどセキュリティーについては自信ない。
417デフォルトの名無しさん
2020/06/05(金) 20:16:25.15ID:m3WbiNf2 /proc を叩かれたくなかったらコンテナ(dockerとか)使えば分離できる
/proc/*/cmdline も見れないからコマンドラインにパスワードを書くこと
に躊躇は要らない、ってのはどう?
要はそこじゃなくて TPM2.0 使って暗号化ファイルシステムマウント
しないとダメなんだろうけどさ
/proc/*/cmdline も見れないからコマンドラインにパスワードを書くこと
に躊躇は要らない、ってのはどう?
要はそこじゃなくて TPM2.0 使って暗号化ファイルシステムマウント
しないとダメなんだろうけどさ
418デフォルトの名無しさん
2020/06/06(土) 01:48:18.94ID:4D637/KL >>410
https://www.gnu.org/software/wget/manual/wget.html#index-http-password
To prevent the passwords from being seen, use the ‘--use-askpass’ or store them in .wgetrc or .netrc, and make sure to protect those files from other users with chmod.
https://www.gnu.org/software/wget/manual/wget.html#index-http-password
To prevent the passwords from being seen, use the ‘--use-askpass’ or store them in .wgetrc or .netrc, and make sure to protect those files from other users with chmod.
419デフォルトの名無しさん
2020/06/06(土) 03:05:03.28ID:7YMZq5d4 漏れは自分のPC 内で、apt-get する、Ruby スクリプトに、パスワードも書いてる。
他には、yahoo へログインするスクリプトにも、パスワードを書いてる
#!/usr/bin/env ruby
# 全パッケージの更新
# sudo のパスワードを自動入力する
# echo <your_password> | sudo -S <your_command>
puts `echo パスワード | sudo -S apt-get update`
puts `sudo apt-get upgrade -yV`
他には、yahoo へログインするスクリプトにも、パスワードを書いてる
#!/usr/bin/env ruby
# 全パッケージの更新
# sudo のパスワードを自動入力する
# echo <your_password> | sudo -S <your_command>
puts `echo パスワード | sudo -S apt-get update`
puts `sudo apt-get upgrade -yV`
420デフォルトの名無しさん
2020/06/06(土) 05:11:44.07ID:fEYYKFMK root取り放題
421デフォルトの名無しさん
2020/06/06(土) 08:55:47.99ID:BnF/2e3e モヤる気持ちはわかる
422デフォルトの名無しさん
2020/06/06(土) 10:25:47.70ID:X82aLPfs まあ,パスワードとかそういう機密情報周りは難しいよね(無難な結論)
ともかくこのスレの原則に反するけど,ほんとうに機密性を重視したかったら,
「シェルで色んなコマンドを組み合わせて実現する」よりも
「一つの強固な環境で全ての機能を構築して,そこで実現する」っていう方針の方が良い気がする。
気がするだけで根拠とかは一切ないw
ともかくこのスレの原則に反するけど,ほんとうに機密性を重視したかったら,
「シェルで色んなコマンドを組み合わせて実現する」よりも
「一つの強固な環境で全ての機能を構築して,そこで実現する」っていう方針の方が良い気がする。
気がするだけで根拠とかは一切ないw
423デフォルトの名無しさん
2020/06/08(月) 22:18:24.29ID:NLc7dq7/ foo 3>&1
3を変数にするにはどうすればいいの?
foo "$FD">&1
エラーになる
3を変数にするにはどうすればいいの?
foo "$FD">&1
エラーになる
424デフォルトの名無しさん
2020/06/08(月) 23:35:37.35ID:UPXG9UaF >>423
eval "foo ${FD}>&1"
eval "foo ${FD}>&1"
425デフォルトの名無しさん
2020/06/09(火) 01:07:13.62ID:Sn2l65YM 3>&1みたいなFDの切り替えってどんな時に使うの?
FDとリダイレクトの意味は分かってるしエラー出力も使えてるけどこの使いこなすのはさっぱり
FDとリダイレクトの意味は分かってるしエラー出力も使えてるけどこの使いこなすのはさっぱり
426デフォルトの名無しさん
2020/06/09(火) 08:46:32.64ID:a8EVQfut ちまちまリダイレクトするのが面倒くさい時かな?
exec 3>&1 > script.log 2>&1
echo "Phase 1 start" >&3 # 端末に出力
goo ... # 標準出力/エラー出力は script.log に自動的にリダイレクト
hoo ...
echo "Phase 2 start" >&3 # 端末に出力
...
この場合は各フェーズを関数化して、関数呼び出しに対して
都度 script.log へリダイレクトするべきだが
ただ、exec 以外で > の左に指定する数字が 1,2 以外になるパターン
( foo 3>&1 )は知らねえ
ファイルディスクリプタ 3 番に対して open せずにいきなり書き込む
のは抵抗があるわ
exec 3>&1 > script.log 2>&1
echo "Phase 1 start" >&3 # 端末に出力
goo ... # 標準出力/エラー出力は script.log に自動的にリダイレクト
hoo ...
echo "Phase 2 start" >&3 # 端末に出力
...
この場合は各フェーズを関数化して、関数呼び出しに対して
都度 script.log へリダイレクトするべきだが
ただ、exec 以外で > の左に指定する数字が 1,2 以外になるパターン
( foo 3>&1 )は知らねえ
ファイルディスクリプタ 3 番に対して open せずにいきなり書き込む
のは抵抗があるわ
427デフォルトの名無しさん
2020/06/09(火) 08:51:44.16ID:MxhGccu+ 上のようなことをしてる関数がfooとかかな。3がfifoとかなんかで
428デフォルトの名無しさん
2020/06/09(火) 11:53:36.51ID:UgSyYe/8 >425
標準エラー出力を変数に入れるときに使う
標準エラー出力を変数に入れるときに使う
429デフォルトの名無しさん
2020/06/09(火) 20:36:13.51ID:JL8YwnMO >>427
あー,FIFOか。自分ではほぼ使わない(専ら標準入出力とパイプ)だから思い付かんかったけど,たしかにFIFOなら3とかに繋ぐのはありそう。
あー,FIFOか。自分ではほぼ使わない(専ら標準入出力とパイプ)だから思い付かんかったけど,たしかにFIFOなら3とかに繋ぐのはありそう。
430デフォルトの名無しさん
2020/06/11(木) 14:08:25.44ID:IxigL/zf ret=$(printf '\n\n\n\n\n')
if [ "$ret" = "" ]; then
echo true
fi
これってなにげに罠だと思うけど
なんで誰も疑問視しないの?
if [ "$ret" = "" ]; then
echo true
fi
これってなにげに罠だと思うけど
なんで誰も疑問視しないの?
431デフォルトの名無しさん
2020/06/11(木) 14:17:42.98ID:ibS6rTlb 規格による正当な動作だから
432デフォルトの名無しさん
2020/06/11(木) 14:24:11.61ID:IxigL/zf その正当な動作がおかしいだろって話
仕様バグ
仕様バグ
433デフォルトの名無しさん
2020/06/11(木) 14:25:39.14ID:IxigL/zf つーかさ、誰もハマらないの?
echo で最期に改行がついていても -n で改行を無くしても
同じになるっておかしいと思わないの?
echo で最期に改行がついていても -n で改行を無くしても
同じになるっておかしいと思わないの?
434デフォルトの名無しさん
2020/06/11(木) 14:29:59.67ID:ibS6rTlb コマンド置換で最後の改行続きに意味があるというのは少ないんだろう
それで意味ない改行を消すのはめんどくさいというのならば、理にかなってる
大事ならコマンド置換のコマンドで最後にスペースでも強制的につければいいだろう
仕様考え今までそれを使ってる準じてshell作ってる他諸々はお前よりは賢いことは確かだから、お前が仕様バグと言っても鼻で笑われるだけだろうw
それで意味ない改行を消すのはめんどくさいというのならば、理にかなってる
大事ならコマンド置換のコマンドで最後にスペースでも強制的につければいいだろう
仕様考え今までそれを使ってる準じてshell作ってる他諸々はお前よりは賢いことは確かだから、お前が仕様バグと言っても鼻で笑われるだけだろうw
435デフォルトの名無しさん
2020/06/11(木) 14:32:01.77ID:ibS6rTlb436デフォルトの名無しさん
2020/06/11(木) 14:41:06.98ID:92eNOFs2 仕様を読み込んで全部把握してから
言語を使うやつなんていねーだろ
言語を使うやつなんていねーだろ
437デフォルトの名無しさん
2020/06/11(木) 14:50:35.57ID:ibS6rTlb おかしいと思ったら調べるのは普通だわな
自分が絶対正しいマンは知らんけど
自分が絶対正しいマンは知らんけど
438デフォルトの名無しさん
2020/06/11(木) 15:13:40.27ID:92eNOFs2 >>437
それでなんでそういう仕様なのか、お前は調べたのか?
それでなんでそういう仕様なのか、お前は調べたのか?
439デフォルトの名無しさん
2020/06/11(木) 15:35:16.88ID:VbX/tETo 仕様は、読んで(どういう意図かを読んで)理解するものだぞ?
お前は仕様を理解するために仕様を説明してるとこを読むのが普通なのか?
お前は仕様を理解するために仕様を説明してるとこを読むのが普通なのか?
440デフォルトの名無しさん
2020/06/11(木) 15:39:01.44ID:92eNOFs2441デフォルトの名無しさん
2020/06/11(木) 15:45:20.60ID:VbX/tETo 最後の改行(の続きに)は意味がない
と普通に読めるだろ。文(の意図)を読めなさすぎ
と普通に読めるだろ。文(の意図)を読めなさすぎ
442デフォルトの名無しさん
2020/06/11(木) 15:48:46.65ID:VbX/tETo >仕様を読み込んで全部把握してから
という 仕様を読む読まない から、あっさり、
>なんでそういう仕様なのか
読んでどうというようにすり替えてるし、いつもの文を読めない読まない自己都合で言葉を吐くだけのやつか
という 仕様を読む読まない から、あっさり、
>なんでそういう仕様なのか
読んでどうというようにすり替えてるし、いつもの文を読めない読まない自己都合で言葉を吐くだけのやつか
443デフォルトの名無しさん
2020/06/11(木) 15:49:29.97ID:92eNOFs2 最後の改行に意味がないという理屈なら
catコマンドとかも最後の改行は消えるべきでは?
catコマンドとかも最後の改行は消えるべきでは?
444デフォルトの名無しさん
2020/06/11(木) 15:51:14.69ID:VbX/tETo 物事は01ではできてないと理解しような
似たようなので違うとか普通にあるだろうに
しかし、いつものだなw
似たようなので違うとか普通にあるだろうに
しかし、いつものだなw
445デフォルトの名無しさん
2020/06/11(木) 16:24:52.88ID:92eNOFs2 0か1ではないという当たり前ことを言うだけで
理由については一切何も考えてないってことがよく分かるなw
理由については一切何も考えてないってことがよく分かるなw
446デフォルトの名無しさん
2020/06/11(木) 16:50:05.12ID:VbX/tETo >0か1ではないという当たり前こと
らしいけど>>443って言うんだな
理由ww 場合による=01ではないだろに。ホントに文が読めない書けないみたいな感じ
てか、そのレスから明らかすぎるほど明らかにいつものだったな
らしいけど>>443って言うんだな
理由ww 場合による=01ではないだろに。ホントに文が読めない書けないみたいな感じ
てか、そのレスから明らかすぎるほど明らかにいつものだったな
447デフォルトの名無しさん
2020/06/11(木) 16:58:04.41ID:VbX/tETo まとめ
仕様を読んでない
(最初から)仕様読むのが当たり前か
疑問に思ったら仕様を読むのは当たり前
仕様読んで意図がわかるのか
〜という意図だと読めばわかるだろ
AとBが違う
01じゃないんだから、違うのも普通にある
理由については一切何も考えてない
www
いつものむちゃくちゃ、ああ言えばこう言うというナゼか執着心だけが強いお人でした
Fin~
仕様を読んでない
(最初から)仕様読むのが当たり前か
疑問に思ったら仕様を読むのは当たり前
仕様読んで意図がわかるのか
〜という意図だと読めばわかるだろ
AとBが違う
01じゃないんだから、違うのも普通にある
理由については一切何も考えてない
www
いつものむちゃくちゃ、ああ言えばこう言うというナゼか執着心だけが強いお人でした
Fin~
448デフォルトの名無しさん
2020/06/11(木) 16:59:11.72ID:92eNOFs2449デフォルトの名無しさん
2020/06/11(木) 17:00:17.93ID:VbX/tETo お前のママじゃないんだから、なんでなんでにいつまでも答えるわけねえだろ、いい加減
ママに聞きなさい。じゃあね
ママに聞きなさい。じゃあね
450デフォルトの名無しさん
2020/06/11(木) 17:03:50.41ID:92eNOFs2 な?結局、ここにそれを書けと言っても
書いてあるはず。それを見ろ。というだけで答えられないわけさ
書いてあるはず。それを見ろ。というだけで答えられないわけさ
451デフォルトの名無しさん
2020/06/11(木) 17:05:12.16ID:VbX/tETo >ここにそれを書けと言っても
何様なんだかな... お子様かw
何様なんだかな... お子様かw
452デフォルトの名無しさん
2020/06/11(木) 17:06:49.63ID:92eNOFs2 ほらまた論点とは別の話をし始めてる。な、そういうとこだよ
453デフォルトの名無しさん
2020/06/11(木) 17:08:27.87ID:VbX/tETo オマいうwwwww
ホント、ツッコミしやすすぎて...すげえな。キリがないから、じゃ、ほんとに
ホント、ツッコミしやすすぎて...すげえな。キリがないから、じゃ、ほんとに
454デフォルトの名無しさん
2020/06/11(木) 17:38:44.92ID:92eNOFs2 シェルの話をしてるか、人の話をしているかで
だいたい区別できるよな
だいたい区別できるよな
455デフォルトの名無しさん
2020/06/14(日) 01:56:01.34ID:eRp+24Cv マジか・・・、set -vって関数の中身は一行ごと表示してくれないのか・・・
456デフォルトの名無しさん
2020/06/14(日) 10:56:11.88ID:rnZVTcdX 一時期,set -vとかを駆使してシェルスクリプトの自己文書化に拘ってた時期があった。
あまりに無毛だったんで止めたけどw
あまりに無毛だったんで止めたけどw
457デフォルトの名無しさん
2020/06/14(日) 11:05:27.03ID:Wt6fQqct パイパンかw
458デフォルトの名無しさん
2020/06/14(日) 11:35:23.18ID:v+4IVp6H >>457
頭ではなく下の方にしたのは優しさか
頭ではなく下の方にしたのは優しさか
459デフォルトの名無しさん
2020/06/14(日) 13:38:52.36ID:eRp+24Cv >>456
自己文書化ってどんなの?
自己文書化ってどんなの?
460デフォルトの名無しさん
2020/06/14(日) 13:57:38.38ID:nNGIeJAo プリンターに髪をsetするんだろう
461デフォルトの名無しさん
2020/06/15(月) 17:56:08.18ID:XCzEYIlJ >>459
例えば
while getopt opq:h opt; do
case $opt in
o) # -oオプションの説明。
...;;
p) # -pオプションの説明。
...;;
q) # -qオプションの説明。
...;;
h) selfdoc ;;
esac
done
みたいなオプション解析において,
-hオプションを読み取った場合に,
自分自身のシェルスクリプトを
自己文書モード≠ンたく実行して,
case文の場合分けの先にある#コメント以降の文字を
次々出力する,みたいなこと。
こうすると-hオプション用に説明を用意する必要が無くなる。
例えば
while getopt opq:h opt; do
case $opt in
o) # -oオプションの説明。
...;;
p) # -pオプションの説明。
...;;
q) # -qオプションの説明。
...;;
h) selfdoc ;;
esac
done
みたいなオプション解析において,
-hオプションを読み取った場合に,
自分自身のシェルスクリプトを
自己文書モード≠ンたく実行して,
case文の場合分けの先にある#コメント以降の文字を
次々出力する,みたいなこと。
こうすると-hオプション用に説明を用意する必要が無くなる。
462デフォルトの名無しさん
2020/06/15(月) 17:57:43.88ID:ynPWkyxw set -vでそれができるの?
463デフォルトの名無しさん
2020/06/15(月) 19:25:07.50ID:XCzEYIlJ >>462 お前は直前のレスしか覚えてられないのか?w
464デフォルトの名無しさん
2020/06/15(月) 19:28:42.67ID:leNERqqh コレかな?ドキュメンテーションコメント?
シェルスクリプト群のドキュメント書くの面倒だから自動でREADME.mdを生成する
https://qiita.com/ssh0/items/0c14ee8949512a4dc98e
シェルスクリプト群のドキュメント書くの面倒だから自動でREADME.mdを生成する
https://qiita.com/ssh0/items/0c14ee8949512a4dc98e
465デフォルトの名無しさん
2020/06/15(月) 19:35:39.15ID:ynPWkyxw466デフォルトの名無しさん
2020/06/17(水) 01:36:20.86ID:IyVPQdQC MacOS 10.13.4です
1.ディレクトリ内(旧フォルダ)でサイズが一番大きなファイルを抽出
↓
2.リスト.txtのn行目にある文字列(Wordと定義)を抽出し
↓
3.名前をWord.txtに変更&新フォルダに移動
という動作をさせたいです
#!/usr/bin/bash
n=1
LISTPATH="~/Desktop/リスト.txt"
PATH1="~/Desktop/旧フォルダ" #ここにファイル群が入ってます
PATH2="~Desktop/新フォルダ"
#1.最も大きなサイズのファイルを抽出しFILEとして定義
FILE=`ls -1 -S $PATH1/* | head -1`
#2.リスト.txtのn行目の文字列をWordとして定義
Word=`sed -n '$n'p '$LISTPATH'`
#3.旧フォルダにあるファイルをWordにリネームした上で新フォルダに移動
mv $PATH1/$FILE $PATH2/Word.txt
こんな感じで書いてみたのですが2.で"sed : 1 :invalid command code U"のようなエラーが出て先に進めません
ターミナルで直接コマンドを入力すると成功するのでおそらく変数やメタ文字の扱いが悪いのだと思います
ですがいろいろ調べて試してみたのですが一向に変わる気配がありません
間違っている点等、あるいは別の方法などありましたらご教授願います
1.ディレクトリ内(旧フォルダ)でサイズが一番大きなファイルを抽出
↓
2.リスト.txtのn行目にある文字列(Wordと定義)を抽出し
↓
3.名前をWord.txtに変更&新フォルダに移動
という動作をさせたいです
#!/usr/bin/bash
n=1
LISTPATH="~/Desktop/リスト.txt"
PATH1="~/Desktop/旧フォルダ" #ここにファイル群が入ってます
PATH2="~Desktop/新フォルダ"
#1.最も大きなサイズのファイルを抽出しFILEとして定義
FILE=`ls -1 -S $PATH1/* | head -1`
#2.リスト.txtのn行目の文字列をWordとして定義
Word=`sed -n '$n'p '$LISTPATH'`
#3.旧フォルダにあるファイルをWordにリネームした上で新フォルダに移動
mv $PATH1/$FILE $PATH2/Word.txt
こんな感じで書いてみたのですが2.で"sed : 1 :invalid command code U"のようなエラーが出て先に進めません
ターミナルで直接コマンドを入力すると成功するのでおそらく変数やメタ文字の扱いが悪いのだと思います
ですがいろいろ調べて試してみたのですが一向に変わる気配がありません
間違っている点等、あるいは別の方法などありましたらご教授願います
467デフォルトの名無しさん
2020/06/17(水) 01:55:47.38ID:IyVPQdQC リストですが
りんご
みかん
ばなな
いちご
こんな風に単語が入ってます
それとややこしくて申し訳ないのですが
sed -n のnはオプションです
n行目の文字列を抽出、に関してはこちらのサイトに別の方法も載っていたので試してみたのですがやはりエラーが出てしまいました
https://qiita.com/kazu56/items/2936ed6f337f288b25c9
りんご
みかん
ばなな
いちご
こんな風に単語が入ってます
それとややこしくて申し訳ないのですが
sed -n のnはオプションです
n行目の文字列を抽出、に関してはこちらのサイトに別の方法も載っていたので試してみたのですがやはりエラーが出てしまいました
https://qiita.com/kazu56/items/2936ed6f337f288b25c9
468デフォルトの名無しさん
2020/06/17(水) 02:26:54.62ID:iASQjm1j469デフォルトの名無しさん
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用アプリのための設定のことだって知らないんだろうな
570デフォルトの名無しさん
2020/07/02(木) 22:29:06.37ID:SkSFT8E6 OSでいくらutf8に対応しようが末尾AのAPI使ったアプリはsjisの入出力前提で書かれてるんだし
対応しようとすれば文字列周りは全部作り直しだよ
VBAやVBScriptとかのWSHも同じ問題を抱えてる
Windowsのutf8完全移行なんて10年後すら怪しい
対応しようとすれば文字列周りは全部作り直しだよ
VBAやVBScriptとかのWSHも同じ問題を抱えてる
Windowsのutf8完全移行なんて10年後すら怪しい
571デフォルトの名無しさん
2020/07/02(木) 23:58:17.21ID:9cYvmHwP だからそれはアプリの問題じゃん
Windowsの標準コマンドはUnicode前提(対応)で書かれている。
PowerShell等から利用するUnicode前提
WSLもUnicode(透過的に変換されるUTF-8)
VBAやVBScriptとかのWSHも同じ問題を抱えてるというが
問題があるのはそれとバッチファイルぐらいでしょ。
今は殆ど使われてない
Windowsの標準コマンドはUnicode前提(対応)で書かれている。
PowerShell等から利用するUnicode前提
WSLもUnicode(透過的に変換されるUTF-8)
VBAやVBScriptとかのWSHも同じ問題を抱えてるというが
問題があるのはそれとバッチファイルぐらいでしょ。
今は殆ど使われてない
572デフォルトの名無しさん
2020/07/03(金) 10:48:21.18ID:D1jLBB9V 今は殆ど使われてない[要出典]
573デフォルトの名無しさん
2020/07/03(金) 13:31:14.36ID:adDL+CTN Windowsを使うな(暴論)
574デフォルトの名無しさん
2020/07/03(金) 22:08:43.15ID:pyXUrnYQ エディタが対応した時点で932とか捨てたわ
変換する必要すらない(更新予定のない)古いメモ以外に残っていない
21世紀も20年目に入ってるというのにまだそんなの使ってる自体遅れいるのか
変換する必要すらない(更新予定のない)古いメモ以外に残っていない
21世紀も20年目に入ってるというのにまだそんなの使ってる自体遅れいるのか
575デフォルトの名無しさん
2020/07/03(金) 22:26:00.04ID:uIgOlo/V 俺がcp932を捨てたのいつだっけな?
Windowsになってからlzhを捨ててzipにした。
日本語が含まれる可能性がある個人用のファイル圧縮に
Unicodeを使う7zを使うようになったのは、うーん?2000年頃かなぁ
9x系に見切りをつけて(動かなければソフトの方を諦める)Windows 2000にした頃には
ファイルはどうしても無理な場合を除いてUTF-8を使うようにしていたし
cp932を使っていた時代は、LinuxもEUC-JPだったし大変だったね
LinuxでEUC-JPからUTF-8に変わった時には、WindowsもUTF-8を使うようにした
Windowsになってからlzhを捨ててzipにした。
日本語が含まれる可能性がある個人用のファイル圧縮に
Unicodeを使う7zを使うようになったのは、うーん?2000年頃かなぁ
9x系に見切りをつけて(動かなければソフトの方を諦める)Windows 2000にした頃には
ファイルはどうしても無理な場合を除いてUTF-8を使うようにしていたし
cp932を使っていた時代は、LinuxもEUC-JPだったし大変だったね
LinuxでEUC-JPからUTF-8に変わった時には、WindowsもUTF-8を使うようにした
576デフォルトの名無しさん
2020/07/03(金) 23:44:56.51ID:9C03Lp22 文字コードとしてのcp932と
システムロケールとしてのcp932をごっちゃにしてるやつが多すぎる
前者は単なる文字コードだから、個人レベルでどうにでもなる
長いことWindowsでutf-8を使ってると言う場合はこれに当たる
後者は現在のwin10でもバリバリの現役で、utf-8は1803から追加されたものの、未だベータ扱い
一部の古いソフトだと不具合がでるので、そう簡単な話ではない
たとえば、このレスを書くために開いているJane Style
システムロケールとしてのcp932をごっちゃにしてるやつが多すぎる
前者は単なる文字コードだから、個人レベルでどうにでもなる
長いことWindowsでutf-8を使ってると言う場合はこれに当たる
後者は現在のwin10でもバリバリの現役で、utf-8は1803から追加されたものの、未だベータ扱い
一部の古いソフトだと不具合がでるので、そう簡単な話ではない
たとえば、このレスを書くために開いているJane Style
577デフォルトの名無しさん
2020/07/03(金) 23:59:49.05ID:uIgOlo/V システムロケールはOSではなくてソフトの問題なんだよな
Windows自体はシステムロケールの設定に依存していない
なぜならすべてUnicode(UTF-16)で処理してるから
(もちろん互換性のための処理として一部例外はあるだろうが)
Windows自体はシステムロケールの設定に依存していない
なぜならすべてUnicode(UTF-16)で処理してるから
(もちろん互換性のための処理として一部例外はあるだろうが)
578デフォルトの名無しさん
2020/07/04(土) 00:30:48.50ID:1qYUKBUR ソフト側でロケールを理解できなかったらダメだからねぇ
そういえば、Linuxもutf-8への移行期(Fedora Core 1が最初だっけ?)に、
それまでのRed Hat 9で問題のなかったeuc-jp前提のソフトがダメダメだった
まぁシェルスクリプトは問題なかったはず
そういえば、Linuxもutf-8への移行期(Fedora Core 1が最初だっけ?)に、
それまでのRed Hat 9で問題のなかったeuc-jp前提のソフトがダメダメだった
まぁシェルスクリプトは問題なかったはず
579デフォルトの名無しさん
2020/07/04(土) 05:09:47.82ID:ve9MtcL4 Windowsの場合Unicodeで作ってれば
システムロケールなんて関係ないよ
システムロケールを理解する必要があるのは
Unicode(UTF-16)非対応アプリの話
システムロケールと使用する言語(表示する言語)は別だからね
システムロケールなんて関係ないよ
システムロケールを理解する必要があるのは
Unicode(UTF-16)非対応アプリの話
システムロケールと使用する言語(表示する言語)は別だからね
580デフォルトの名無しさん
2020/07/05(日) 00:52:27.71ID:m0wz7oid メモ帳の保存形式にあるUnicodeとかいう多重トラップ嫌い
581デフォルトの名無しさん
2020/07/13(月) 19:16:41.40ID:Xa4f7njE Austinで大規模なファイル更新があって,
お,何か重要な局面を迎えたのかな?と期待して報告書を読んだら,
全文書に存在する"POSIX.1-201x"を"POSIX.1-202x"に書き換える作業だったていうオチ。
お,何か重要な局面を迎えたのかな?と期待して報告書を読んだら,
全文書に存在する"POSIX.1-201x"を"POSIX.1-202x"に書き換える作業だったていうオチ。
582デフォルトの名無しさん
2020/07/15(水) 10:35:51.78ID:GO+Zaox3 組み込み系のash環境です。
以下のコードは、外部テキストファイル(shift-jis)をwhileで1行ずつ読み込んで、
シリアルポートの/dev/ttyUSB0へ1行の内容をそのまま送信する処理の一部です。
ファイルの中に日本語の0x5cのバックスラッシュがあると、文字化けしてしまいます。
0x5c混在のサンプルとして「表示」の漢字が正常に送れるかの試験コードを作りました。
以下のスクリプトの文字コードはshiftJISで保存し実行しました。
text=ダメ文字表示テスト
filtered_text=`echo $text | sed -e 's/\\/\\\\/g'`
echo -e "ORG text $text"
echo -e "filtered_text $filtered_text"
echo -e "$filtered_text" > /dev/ttyUSB0
結果
sed: unmatched '/'
ORG text ダメ文字侮ヲテスト
filtered_text
やりたいこと
シェルスクリプト内の変数に格納して、/dev/ttyUSB0へ「ダメ文字表示テスト」とそのまま送信したいです。
1行ずつ送信する理由は、たまに行間で制御コードを混ぜる必要があるためです。
sedの行が肝になると思い、作例を1日探しましたが、探し方が下手で見つけられませんでした。
sed以外のコマンドでも使えるコマンドがあれば何でもいいです。
nkfは無しでした。iconvはありましたがShiftjisのコードが含まれていませんでした。
そもそも最終的に送信するデータがshiftjisなので、これらは関係ないと気づきました。
どのような書き方でできるか、お知恵をいただけないでしょうか。
以下のコードは、外部テキストファイル(shift-jis)をwhileで1行ずつ読み込んで、
シリアルポートの/dev/ttyUSB0へ1行の内容をそのまま送信する処理の一部です。
ファイルの中に日本語の0x5cのバックスラッシュがあると、文字化けしてしまいます。
0x5c混在のサンプルとして「表示」の漢字が正常に送れるかの試験コードを作りました。
以下のスクリプトの文字コードはshiftJISで保存し実行しました。
text=ダメ文字表示テスト
filtered_text=`echo $text | sed -e 's/\\/\\\\/g'`
echo -e "ORG text $text"
echo -e "filtered_text $filtered_text"
echo -e "$filtered_text" > /dev/ttyUSB0
結果
sed: unmatched '/'
ORG text ダメ文字侮ヲテスト
filtered_text
やりたいこと
シェルスクリプト内の変数に格納して、/dev/ttyUSB0へ「ダメ文字表示テスト」とそのまま送信したいです。
1行ずつ送信する理由は、たまに行間で制御コードを混ぜる必要があるためです。
sedの行が肝になると思い、作例を1日探しましたが、探し方が下手で見つけられませんでした。
sed以外のコマンドでも使えるコマンドがあれば何でもいいです。
nkfは無しでした。iconvはありましたがShiftjisのコードが含まれていませんでした。
そもそも最終的に送信するデータがshiftjisなので、これらは関係ないと気づきました。
どのような書き方でできるか、お知恵をいただけないでしょうか。
583デフォルトの名無しさん
2020/07/15(水) 11:54:50.30ID:IqfNcqeZ ダメ文字は、数十年前の話w
584デフォルトの名無しさん
2020/07/15(水) 12:02:36.35ID:gwK3CNky585デフォルトの名無しさん
2020/07/15(水) 12:03:29.33ID:gwK3CNky586デフォルトの名無しさん
2020/07/15(水) 12:04:14.63ID:gwK3CNky いい加減文字コードはUTF-8に一括変換してから
処理して戻すってことを覚えたほうがいい
処理して戻すってことを覚えたほうがいい
587デフォルトの名無しさん
2020/07/15(水) 12:07:30.43ID:gwK3CNky >>582
echoは使うなprintfを使え
echoは使うなprintfを使え
588デフォルトの名無しさん
2020/07/15(水) 12:09:01.51ID:gwK3CNky > 1行ずつ送信する理由は、たまに行間で制御コードを混ぜる必要があるためです。
意味がわからん。制御コード1文字が二行に分かれたりでもするんか?
意味がわからん。制御コード1文字が二行に分かれたりでもするんか?
589デフォルトの名無しさん
2020/07/15(水) 13:17:28.61ID:4eO2mC8f590デフォルトの名無しさん
2020/07/17(金) 17:54:07.38ID:pKRyHByg >>582
>sed: unmatched '/'
SJIS云々の前にsedのコマンドがちゃんと認識されてないじゃん。
とりあえず、バックスラッシュの数を変えたり``じゃなくて$()を使ってみたらどう?
>sed: unmatched '/'
SJIS云々の前にsedのコマンドがちゃんと認識されてないじゃん。
とりあえず、バックスラッシュの数を変えたり``じゃなくて$()を使ってみたらどう?
591デフォルトの名無しさん
2020/07/18(土) 06:32:49.36ID:belUdedc ひょっとしてSJIS完全対応のテキストエディタってLinuxには存在しない?
昔mousepadで盛大に化けた覚えが
昔mousepadで盛大に化けた覚えが
592デフォルトの名無しさん
2020/07/18(土) 07:03:52.09ID:6UJBCs7F Emacs
593デフォルトの名無しさん
2020/07/18(土) 10:26:12.51ID:PyiwbgQS Vim
594デフォルトの名無しさん
2020/07/18(土) 10:38:54.42ID:W7WHirLG vscode
595デフォルトの名無しさん
2020/07/18(土) 11:38:05.10ID:PyiwbgQS バカな投稿をすると釣られた人間が正しい知識を教えてくれるメソッド
よかったな,>>591!
よかったな,>>591!
596デフォルトの名無しさん
2020/07/18(土) 11:44:04.46ID:fwbEJCvA つまりvscodeが正しいと?
597デフォルトの名無しさん
2020/07/18(土) 12:39:31.97ID:PyiwbgQS 俺のスレ読んでないの?w
598デフォルトの名無しさん
2020/07/18(土) 13:28:14.79ID:fwbEJCvA お前のレス?釣られた人間が正しい知識を教えてくれるんでしょう?
それ以外になんかあるの?
それ以外になんかあるの?
599デフォルトの名無しさん
2020/07/18(土) 13:48:08.58ID:W7WHirLG エディタも使いこなせないならwinのメモ帳でも使いなよ。sjis対応だよ
600デフォルトの名無しさん
2020/07/19(日) 08:53:42.63ID:b8gde26L お前いつも壁と話してんな
601デフォルトの名無しさん
2020/07/19(日) 10:23:03.44ID:HNDAT4gV 壁だと思ってるのはお前だけで、実は人間なんだぜ(ホラー風)
602デフォルトの名無しさん
2020/07/19(日) 11:15:59.84ID:W3hSYpRn ぬりかべ「かべっ!?」
603デフォルトの名無しさん
2020/07/27(月) 19:01:06.79ID:prTniRCc manコマンドはPOSIXに取り入れられそうなのに
その表示に関わるroffコマンドは影も形もないって、
なんつーか意味あんのかそれって思う。
その表示に関わるroffコマンドは影も形もないって、
なんつーか意味あんのかそれって思う。
604デフォルトの名無しさん
2020/07/27(月) 20:34:03.79ID:Sw4i8xv6605デフォルトの名無しさん
2020/07/27(月) 20:48:14.37ID:9y96d1KX manをPOSIXに取り入れるぐらいなら
HTMLビューワーをPOSIXに取り入れたほうが良い
JavaScriptとCSSに対応させる必要はないからさ
HTMLビューワーをPOSIXに取り入れたほうが良い
JavaScriptとCSSに対応させる必要はないからさ
606デフォルトの名無しさん
2020/07/27(月) 20:50:03.70ID:9y96d1KX curlをPOSIXに入れればいいのに
フル機能じゃなくていいけどREST API叩けるぐらい
フル機能じゃなくていいけどREST API叩けるぐらい
607デフォルトの名無しさん
2020/07/27(月) 21:12:03.12ID:vTLRE8Va >>603
おお、するどい。
でもmanが入ってないというのはどう言う意味? POSIXとSUSの意味の違いにこだわる?
で実際manの記述を見ると文章の整形とかそれをどう作るとかは書いてないので、
そういうレベルのものは規定しないという態度なのかも。
あと事実上GNU roffが標準だと思うが、さすがにそれを規格には入れられないのかも。
かといって今更大昔のroffに制限するのもなあと。
しかし最近GNUで検索するとKingの方がヒットしやすくてうざいw
おお、するどい。
でもmanが入ってないというのはどう言う意味? POSIXとSUSの意味の違いにこだわる?
で実際manの記述を見ると文章の整形とかそれをどう作るとかは書いてないので、
そういうレベルのものは規定しないという態度なのかも。
あと事実上GNU roffが標準だと思うが、さすがにそれを規格には入れられないのかも。
かといって今更大昔のroffに制限するのもなあと。
しかし最近GNUで検索するとKingの方がヒットしやすくてうざいw
608デフォルトの名無しさん
2020/07/27(月) 21:16:04.45ID:vTLRE8Va というか、King Gnuと言ったらRMSしかありえないだろw
609デフォルトの名無しさん
2020/07/28(火) 08:42:48.22ID:UlETHBDV こんなのか?
https://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000030681001&Action_id=121&Sza_id=F3
まだ役に立ってるよ。俺が持ってるのは 20.3 だけど。
https://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000030681001&Action_id=121&Sza_id=F3
まだ役に立ってるよ。俺が持ってるのは 20.3 だけど。
610デフォルトの名無しさん
2020/07/28(火) 13:13:59.11ID:R16GmJU5 質問。
次のような行からいずれかのvalueをきれいに削除するにはどうすれば?
name=value0,value1,value2,value3
たとえば次のコマンドだと、value1を削除できるものの、先頭か末尾か連続かのカンマが残ってしまう。。。
sed 's/^(name=.*)value1(.*)$/¥1¥2/'
残ったカンマを後で処理したらいいんだけど、そもそも一発でうまくやることができるんでは?という気がどうしても。
次のような行からいずれかのvalueをきれいに削除するにはどうすれば?
name=value0,value1,value2,value3
たとえば次のコマンドだと、value1を削除できるものの、先頭か末尾か連続かのカンマが残ってしまう。。。
sed 's/^(name=.*)value1(.*)$/¥1¥2/'
残ったカンマを後で処理したらいいんだけど、そもそも一発でうまくやることができるんでは?という気がどうしても。
611デフォルトの名無しさん
2020/07/28(火) 13:23:54.46ID:Mb4DOiRz ^(name=.*)bvalue1,?(.*)$
こうかな
こうかな
612デフォルトの名無しさん
2020/07/28(火) 13:24:17.04ID:Mb4DOiRz 文字化けてるとこは円記号な
613デフォルトの名無しさん
2020/07/28(火) 13:53:56.25ID:DVrEteyf King Gnu?
どっかで聞いたことあるようなないような▪▪▪
どっかで聞いたことあるようなないような▪▪▪
614デフォルトの名無しさん
2020/07/28(火) 14:07:36.32ID:R16GmJU5615デフォルトの名無しさん
2020/07/28(火) 14:08:46.03ID:3p32kQjL 残らないが?
616デフォルトの名無しさん
2020/07/28(火) 14:25:35.27ID:R16GmJU5 残るが。
value3直前のカンマが¥1に含まれるので。
value3直前のカンマが¥1に含まれるので。
617デフォルトの名無しさん
2020/07/28(火) 23:58:59.24ID:2KWkEgO3 >>610
>name=value0,value1,value2,value3
頭を柔らかくして、
最初に、この末尾に、カンマを追加すれば、処理しやすい形式になる
name=value0,value1,value2,value3,
>name=value0,value1,value2,value3
頭を柔らかくして、
最初に、この末尾に、カンマを追加すれば、処理しやすい形式になる
name=value0,value1,value2,value3,
618デフォルトの名無しさん
2020/07/29(水) 00:10:05.86ID:bLm2KFbe sed縛りなの?
後方参照する必要ないんじゃない?
value[0-2] については冗長だけど、以下の形式なら全部同じようにできるかと。
'?'の正規表現って、sedだとGNU sed とかだとつかえるのかな?
'?'はウチでは使えない。
echo 'name=value0,value1,value2,value3' | sed -e 's/value0,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value1,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value2,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value3,*//' -e 's/,$//'
後方参照する必要ないんじゃない?
value[0-2] については冗長だけど、以下の形式なら全部同じようにできるかと。
'?'の正規表現って、sedだとGNU sed とかだとつかえるのかな?
'?'はウチでは使えない。
echo 'name=value0,value1,value2,value3' | sed -e 's/value0,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value1,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value2,*//' -e 's/,$//'
echo 'name=value0,value1,value2,value3' | sed -e 's/value3,*//' -e 's/,$//'
619デフォルトの名無しさん
2020/07/29(水) 03:25:12.86ID:ZD2Ud5DP >>617
Perlとかならそうするが、sedだとなかなか?
sedはあんまり使わないので、そうしたくてもよくわからない。。。
>>618
sed縛りではないけど、Linux最小インストールでも対応したいので、sedくらいしか?
ほかに使えるならそれも可。
後方参照してるのは、「name=」で始まる行だけに限定したいから。
それ以外の行はそのままで。
「?」が使えない正規表現があるの?
POSIXに含まれてなかったっけ?
ちなみに現在はこうしてたっけかな?
細かいところはちょっと違うかも。
sed -r 's/^(name=.*)value1,?(.*)$/¥1¥2/;s/^(name=.*),+$/¥1/' -i file.txt
なんかくどくて、もっとさっぱり書けるやろと。。。
Perlとかならそうするが、sedだとなかなか?
sedはあんまり使わないので、そうしたくてもよくわからない。。。
>>618
sed縛りではないけど、Linux最小インストールでも対応したいので、sedくらいしか?
ほかに使えるならそれも可。
後方参照してるのは、「name=」で始まる行だけに限定したいから。
それ以外の行はそのままで。
「?」が使えない正規表現があるの?
POSIXに含まれてなかったっけ?
ちなみに現在はこうしてたっけかな?
細かいところはちょっと違うかも。
sed -r 's/^(name=.*)value1,?(.*)$/¥1¥2/;s/^(name=.*),+$/¥1/' -i file.txt
なんかくどくて、もっとさっぱり書けるやろと。。。
620デフォルトの名無しさん
2020/07/29(水) 05:18:27.85ID:W2ZwK0DF Ruby で作った
text = <<"EOT"
a
name=value0,value1,value2,value3
x
EOT
word = "value2,"
text.each_line do | line | # 1行ずつ処理する
# 先頭が、name= 以外は処理しない
next unless line.start_with? "name="
line.chomp! # 末尾の改行を削除する
line += "," # 処理しやすいように一旦、末尾にカンマを付ける
line.slice! word # 取り除く
line.slice! -1 # 末尾のカンマを取り除く
puts line #=> name=value0,value1,value3
end
text = <<"EOT"
a
name=value0,value1,value2,value3
x
EOT
word = "value2,"
text.each_line do | line | # 1行ずつ処理する
# 先頭が、name= 以外は処理しない
next unless line.start_with? "name="
line.chomp! # 末尾の改行を削除する
line += "," # 処理しやすいように一旦、末尾にカンマを付ける
line.slice! word # 取り除く
line.slice! -1 # 末尾のカンマを取り除く
puts line #=> name=value0,value1,value3
end
621デフォルトの名無しさん
2020/07/29(水) 06:28:49.20ID:Fq72tfsf sedの正規表現で最短一致は使えないって地味に罠だよな
[^]で工夫すれば行けるらしいが
[^]で工夫すれば行けるらしいが
622デフォルトの名無しさん
2020/07/29(水) 07:17:15.52ID:SoSaYlfN for((aa=-1;aa<4;aa++)); do echo name=value0,value1,value2,value3 |sed -e"/^name=/{s/$/,/; s/value${aa},//; s/,$//;}"; done
623618
2020/07/29(水) 11:42:17.47ID:bLm2KFbe >>622
完全に同意。個人的には {} 使わないで -e で並べたい派だけど。
*を使うより厳密に置換できてよいと思う。
619には以下の書き方のほうが分かりやすそう。
sed -e '/^name=/{s/$/,/; s/value0,//; s/,$//;}'
>>619
sedの正規表現では '?' 使えないはず。
GNU sed でもオプション使わないと通らないのが確認できた。
できれば -E を使ってほしいかな。個人的には。
-E, -r, --regexp-extended
use extended regular expressions in the script
(for portability use POSIX -E).
完全に同意。個人的には {} 使わないで -e で並べたい派だけど。
*を使うより厳密に置換できてよいと思う。
619には以下の書き方のほうが分かりやすそう。
sed -e '/^name=/{s/$/,/; s/value0,//; s/,$//;}'
>>619
sedの正規表現では '?' 使えないはず。
GNU sed でもオプション使わないと通らないのが確認できた。
できれば -E を使ってほしいかな。個人的には。
-E, -r, --regexp-extended
use extended regular expressions in the script
(for portability use POSIX -E).
624デフォルトの名無しさん
2020/07/29(水) 11:58:07.49ID:10XNhQ52 そうやって、外部コマンドをあれこれ駆使して
どうにかして簡単に書ける方法はないか?に
無駄な時間使ってるのを見るとアホやなぁって思う
一般的なやり方でできないなら諦めろよ
そのコマンドを使うのが間違ってるんだ
どうにかして簡単に書ける方法はないか?に
無駄な時間使ってるのを見るとアホやなぁって思う
一般的なやり方でできないなら諦めろよ
そのコマンドを使うのが間違ってるんだ
625デフォルトの名無しさん
2020/07/29(水) 12:32:30.11ID:ZD2Ud5DP626デフォルトの名無しさん
2020/07/29(水) 12:44:55.15ID:ZD2Ud5DP627デフォルトの名無しさん
2020/07/29(水) 13:19:38.86ID:E/WNSRes データがカンマを含む場合はどうしますか?
name1=v0,"v,,1",v2,,,vvv,unko,
name2=,sss,"hdj,du,n",,ss,,,,kkkk
name1=v0,"v,,1",v2,,,vvv,unko,
name2=,sss,"hdj,du,n",,ss,,,,kkkk
628デフォルトの名無しさん
2020/07/29(水) 15:37:47.77ID:iTLEUVw7 特定の行で区切った塊ごとで処理したいんだけどいい方法ない?
例えばこんなのだったら====で区切って
abc
def
==== 1
ghi
jkl
==== 2
mno
pqr
abc〜def、ghi〜jkl、mno〜pqrという3つの塊をそれぞれ処理したい。
それと ghi〜jklという塊を処理している時は1ですよ。という数字も知りたい
(最初の塊の時は数字なし)
例えばこんなのだったら====で区切って
abc
def
==== 1
ghi
jkl
==== 2
mno
pqr
abc〜def、ghi〜jkl、mno〜pqrという3つの塊をそれぞれ処理したい。
それと ghi〜jklという塊を処理している時は1ですよ。という数字も知りたい
(最初の塊の時は数字なし)
629デフォルトの名無しさん
2020/07/30(木) 06:16:08.96ID:ixil7w/z >>628
cat |sed -ne "/^===/! {H;}; $ b ll; /^=/ {:ll; s/=//g; x; s/\n/ /g; p;}" << EOL
abc
def
==== 1
ghi
jkl
==== 2
mno
pqr
EOL
abc def
1 ghi jkl
2 mno pqr
cat |sed -ne "/^===/! {H;}; $ b ll; /^=/ {:ll; s/=//g; x; s/\n/ /g; p;}" << EOL
abc
def
==== 1
ghi
jkl
==== 2
mno
pqr
EOL
abc def
1 ghi jkl
2 mno pqr
630デフォルトの名無しさん
2020/07/30(木) 06:42:42.05ID:oWxKF5YB631デフォルトの名無しさん
2020/07/30(木) 06:43:43.55ID:oWxKF5YB あと塊から改行を取り除いてはいけません
632デフォルトの名無しさん
2020/07/30(木) 14:54:43.85ID:Ws4Sjpc9 $!をリセットする方法はないですかね?
空とかunsetとか0とか
空とかunsetとか0とか
633デフォルトの名無しさん
2020/07/30(木) 15:15:25.11ID:l+t/gnGC Perl 使うと楽だが、シェルスクリプトで、か・・・
634デフォルトの名無しさん
2020/07/31(金) 00:34:30.45ID:h2BvMEZJ Ruby なら、
def f( num, line )
puts num, line
end
# num は、inject の蓄積変数。0 は初期値
File.foreach( "input.txt" ).inject( 0 ) do |num, line|
if line.start_with? "==== " # 先頭が、これなら
line.chomp! # 末尾の改行を削除する
num = line[ 5..-1 ].to_i # 数字の部分を取り出して、整数にする
next num
end
f( num, line )
num
end
出力
0
abc
0
def
1
ghi
1
jkl
2
mno
2
pqr
def f( num, line )
puts num, line
end
# num は、inject の蓄積変数。0 は初期値
File.foreach( "input.txt" ).inject( 0 ) do |num, line|
if line.start_with? "==== " # 先頭が、これなら
line.chomp! # 末尾の改行を削除する
num = line[ 5..-1 ].to_i # 数字の部分を取り出して、整数にする
next num
end
f( num, line )
num
end
出力
0
abc
0
def
1
ghi
1
jkl
2
mno
2
pqr
635デフォルトの名無しさん
2020/07/31(金) 01:26:11.97ID:1vLgXRtq >>630
Bashなら、プロセス置換(process substitution)でできるのでは。
<(echo;最初のデリミタ行までを抽出するコマンドライン)
<(echo 1;最初から次のデリミタ行までを抽出するコマンドライン)
<(echo 2;最後のデリミタ行からを抽出するコマンドライン)
としたら、先頭行が番号、それ以降がテキスト行として読み込める。
個人的には、さすがここまでのレベルならPerlとかでやったほうが。
Bashなら、プロセス置換(process substitution)でできるのでは。
<(echo;最初のデリミタ行までを抽出するコマンドライン)
<(echo 1;最初から次のデリミタ行までを抽出するコマンドライン)
<(echo 2;最後のデリミタ行からを抽出するコマンドライン)
としたら、先頭行が番号、それ以降がテキスト行として読み込める。
個人的には、さすがここまでのレベルならPerlとかでやったほうが。
636デフォルトの名無しさん
2020/07/31(金) 19:26:43.51ID:qTuk7lt4 bashの#!でのオプションについて質問。
先頭行を次のようにすると、「invalid option name」エラーになります。
#!/usr/bin/bash -o pipefail
...
しかし、コマンドラインに同じように書くとエラーになりません。
/usr/bin/bash -o pipefail -c '...'
どうして?
-eならどっちも問題ないので、#!行のオプションの解釈になにか秘密があるんだろうけど。
先頭行を次のようにすると、「invalid option name」エラーになります。
#!/usr/bin/bash -o pipefail
...
しかし、コマンドラインに同じように書くとエラーになりません。
/usr/bin/bash -o pipefail -c '...'
どうして?
-eならどっちも問題ないので、#!行のオプションの解釈になにか秘密があるんだろうけど。
637デフォルトの名無しさん
2020/07/31(金) 20:01:20.64ID:j/9/9lyu >>636
MacOSやFreeBSDだと上手くいく。
原因はLinuxのexecl()関数が
「/usr/bin/bash」と「-o pipefail」という
二つの引数を実行しているせい。
とうぜん「o pipefail」というオプションはないので,怒られる。
MacOSやFreeBSDだと上手くいく。
原因はLinuxのexecl()関数が
「/usr/bin/bash」と「-o pipefail」という
二つの引数を実行しているせい。
とうぜん「o pipefail」というオプションはないので,怒られる。
638デフォルトの名無しさん
2020/07/31(金) 20:03:04.24ID:j/9/9lyu さらに言うと,
シバンはPOSIXが「実装ごとに挙動がバラバラなんで俺はこの動作を規定しません」
って公言するくらい,各種OSごとに扱われかたが違う。
今調べられないけど,古いAIXとかだと
「!/usr/bin/bash -o pipefail」とかいうコマンドを探しにいってエラー吐いてた記憶がある。
シバンはPOSIXが「実装ごとに挙動がバラバラなんで俺はこの動作を規定しません」
って公言するくらい,各種OSごとに扱われかたが違う。
今調べられないけど,古いAIXとかだと
「!/usr/bin/bash -o pipefail」とかいうコマンドを探しにいってエラー吐いてた記憶がある。
639デフォルトの名無しさん
2020/07/31(金) 20:39:05.80ID:k/mzlDiC >>636
/usr/bin/bash -o pipefail ではなく
/usr/bin/bash "-o pipefail" を実行している
まあ素直に
#!/bin/bash
set -o pipefail
って書けってことだな
/usr/bin/bash -o pipefail ではなく
/usr/bin/bash "-o pipefail" を実行している
まあ素直に
#!/bin/bash
set -o pipefail
って書けってことだな
640デフォルトの名無しさん
2020/07/31(金) 21:40:13.69ID:j/9/9lyu もう書いたんだが…
641デフォルトの名無しさん
2020/07/31(金) 21:44:42.11ID:qTuk7lt4642デフォルトの名無しさん
2020/07/31(金) 21:56:20.95ID:k/mzlDiC /usr/bin/bashにbashがあるとは限らない
というか普通無い
というか普通無い
643デフォルトの名無しさん
2020/07/31(金) 22:30:39.13ID:j/9/9lyu644デフォルトの名無しさん
2020/07/31(金) 22:35:57.38ID:h2BvMEZJ 普通は、/bin/bash
じゃないの?
じゃないの?
645デフォルトの名無しさん
2020/07/31(金) 22:55:43.76ID:qTuk7lt4646デフォルトの名無しさん
2020/07/31(金) 23:03:07.55ID:w9lTjcUH $ lsb_release -d
Description: Ubuntu 20.04.1 LTS
$ ls -1 /bin/bash
/bin/bash
$ ls -1 /usr/bin/bash
ls: cannot access '/usr/bin/bash': No such file or directory
Description: Ubuntu 20.04.1 LTS
$ ls -1 /bin/bash
/bin/bash
$ ls -1 /usr/bin/bash
ls: cannot access '/usr/bin/bash': No such file or directory
647デフォルトの名無しさん
2020/07/31(金) 23:31:35.93ID:BwwodwaD >>645
Linuxの場合/usr/binにbashがあるのは/bin -> /usr/binになっている環境ぐらい。それ以外はほぼ間違いなく/binにある。元々シングルユーザーモード用の/binになかったら、シングルユーザーモードでシェルが使えないでしょ。
最近は/binと/usr/binを統合する動きが進んでいるから将来はどっちでも良くなるかもしれないし、あるいは/binがなくなるかもしれないけど、今はまだ従来の環境も普通にあるから/bin/bashがいい。その為にシムリンクを張っているわけなので。
UbuntuやDebianは、今インストールすると統合されるけど、従来の環境からアップデートした場合は統合されない。
あとGentooとかは今クリーンインストールしても統合されない。
Linuxの場合/usr/binにbashがあるのは/bin -> /usr/binになっている環境ぐらい。それ以外はほぼ間違いなく/binにある。元々シングルユーザーモード用の/binになかったら、シングルユーザーモードでシェルが使えないでしょ。
最近は/binと/usr/binを統合する動きが進んでいるから将来はどっちでも良くなるかもしれないし、あるいは/binがなくなるかもしれないけど、今はまだ従来の環境も普通にあるから/bin/bashがいい。その為にシムリンクを張っているわけなので。
UbuntuやDebianは、今インストールすると統合されるけど、従来の環境からアップデートした場合は統合されない。
あとGentooとかは今クリーンインストールしても統合されない。
648デフォルトの名無しさん
2020/08/01(土) 01:21:21.09ID:6XTg5Iao >>647
シングルユーザー環境はまったく想定外なので。。。
ファイルパスをあわせても、実際の具体的な環境は把握できてないし、どうせ動作確認もしないから、きっぱりわりきることにしたのだ。
binの統合の話は、RHEL8のドキュメントで見た気がするけど、だったらもうとっととのっとこう、と思ったのもある。
うちのメインはCentOSだし、そうなってない環境を使うことになったら自分でシンボリックリンクを追加したらええんやろ、ということで。
シングルユーザー環境はまったく想定外なので。。。
ファイルパスをあわせても、実際の具体的な環境は把握できてないし、どうせ動作確認もしないから、きっぱりわりきることにしたのだ。
binの統合の話は、RHEL8のドキュメントで見た気がするけど、だったらもうとっととのっとこう、と思ったのもある。
うちのメインはCentOSだし、そうなってない環境を使うことになったら自分でシンボリックリンクを追加したらええんやろ、ということで。
649デフォルトの名無しさん
2020/08/01(土) 08:14:01.78ID:6JQgXAfu 又聞きで悪いが,Oracleかなにかだと,/usr/bin/にはGNU系の製品が入ってなかったとか。
/export/以下にあるとかなんとか。
/export/以下にあるとかなんとか。
650デフォルトの名無しさん
2020/08/01(土) 08:30:02.46ID:2HCIDb75 /opt/bin とかに入ってるのもあったなぁ
651649
2020/08/01(土) 10:05:25.94ID:6JQgXAfu >>650
あー。これで思い出した。
/opt/bin/だわ。
/export/は利用者のホームディレクトリとかがある所だわ。
Bashの場所とは関係ない話になるけど,
昔$HOME変数とか使わずに/home/***以下にあるやろって決め打ちしてたら
Solarisではまさかの/export/home/***にあるっていう罠に引っ掛かったw
あー。これで思い出した。
/opt/bin/だわ。
/export/は利用者のホームディレクトリとかがある所だわ。
Bashの場所とは関係ない話になるけど,
昔$HOME変数とか使わずに/home/***以下にあるやろって決め打ちしてたら
Solarisではまさかの/export/home/***にあるっていう罠に引っ掛かったw
652デフォルトの名無しさん
2020/08/01(土) 13:49:06.35ID:U7vGE7b3 何十年経ってもディレクトリが分類できる未来はないんやな
653デフォルトの名無しさん
2020/08/01(土) 17:25:34.94ID:WzMhf7ZH >>652
OS作る時にOSの仕様として組み込んでしまうぐらいしか方法無いと思う。ちょっとでも自由があると必ずそこから崩れる。
OS作る時にOSの仕様として組み込んでしまうぐらいしか方法無いと思う。ちょっとでも自由があると必ずそこから崩れる。
654デフォルトの名無しさん
2020/08/01(土) 23:28:16.58ID:huzWWnKB 10MBぐらいのテキストファイルでさ
指定したバイト目から〜バイトの範囲を取得っていうのを
やるととしたらどういう方法が一番高速だろうか?
bashismなし。外部コマンドは呼び出してもいいけど遅いな
指定したバイト目から〜バイトの範囲を取得っていうのを
やるととしたらどういう方法が一番高速だろうか?
bashismなし。外部コマンドは呼び出してもいいけど遅いな
655デフォルトの名無しさん
2020/08/02(日) 00:54:32.67ID:hIQzyyzC Perlでワンライナーが速そう。w
656デフォルトの名無しさん
2020/08/02(日) 00:55:21.79ID:KvZo8Zjs でもPerlを呼び出すコストがかかるでしょ?
657デフォルトの名無しさん
2020/08/02(日) 03:03:58.88ID:hIQzyyzC じゃあ、全文をPerlに書き直そう。w
いっそCで?
マジな話、ファイルを直に開いてseekできるPerlならトータル黒字なんでは。
知らんけど。
いっそCで?
マジな話、ファイルを直に開いてseekできるPerlならトータル黒字なんでは。
知らんけど。
658デフォルトの名無しさん
2020/08/02(日) 08:34:06.01ID:fjyVy3s+ dd, od, head/tail
コンパイル済みのCのコードのほうが速いやろ
コンパイル済みのCのコードのほうが速いやろ
659デフォルトの名無しさん
2020/08/02(日) 09:26:03.25ID:mglN/rTr >>654
dd一択。
dd一択。
660デフォルトの名無しさん
2020/08/02(日) 12:16:22.41ID:pZSLu0WP そもそも設定が/etc/に雑に放り込まれてる時点でな
個人設定だって~/直下だったり~/.dirだったり~/.config/.dirだったりてんでバラバラだし
個人設定だって~/直下だったり~/.dirだったり~/.config/.dirだったりてんでバラバラだし
661デフォルトの名無しさん
2020/08/02(日) 14:14:46.24ID:hIQzyyzC662デフォルトの名無しさん
2020/08/02(日) 14:18:23.50ID:hIQzyyzC いや、head $(())|tailとすればマシなのか。
元コメのPerl起動時間さえ気にする用途にはあわんかもだけど。
元コメのPerl起動時間さえ気にする用途にはあわんかもだけど。
663デフォルトの名無しさん
2020/08/02(日) 15:04:27.21ID:mglN/rTr664デフォルトの名無しさん
2020/08/02(日) 15:44:30.48ID:hIQzyyzC >>663
別人かもだけど、そういう気持ちは元コメから書いてあったから。。。
head/tailは、--bytesオプションがあるやろ?
算術式展開は、でもBash限定なんだっけ?
ただ、いずれにしてもddにしろheadにしろtailにしろ、スキップが読み捨てなのか直シークなのかで速度が違いそう?
別人かもだけど、そういう気持ちは元コメから書いてあったから。。。
head/tailは、--bytesオプションがあるやろ?
算術式展開は、でもBash限定なんだっけ?
ただ、いずれにしてもddにしろheadにしろtailにしろ、スキップが読み捨てなのか直シークなのかで速度が違いそう?
665デフォルトの名無しさん
2020/08/02(日) 19:23:27.16ID:mglN/rTr >>664
算術展開はPOSIXで定義されてるから
最近のPOSIX準拠を謳うシェルなら必ず使える。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
算術展開はPOSIXで定義されてるから
最近のPOSIX準拠を謳うシェルなら必ず使える。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
666デフォルトの名無しさん
2020/08/02(日) 19:30:06.31ID:TAOBMMvc >>661
ファイルの大きさを見て一番後ろを見に行くから遅いはずがない
ファイルの大きさを見て一番後ろを見に行くから遅いはずがない
667デフォルトの名無しさん
2020/08/02(日) 19:39:48.99ID:wSiq9/7A $ ls -1sh input.dat
10M input.dat
$ dd if=input.dat of=output.dat bs=1M skip=1 count=1
$ ls -1sh output.dat
1.0M output.dat
10M input.dat
$ dd if=input.dat of=output.dat bs=1M skip=1 count=1
$ ls -1sh output.dat
1.0M output.dat
668デフォルトの名無しさん
2020/08/02(日) 20:02:20.24ID:hIQzyyzC669デフォルトの名無しさん
2020/08/02(日) 20:07:58.65ID:hIQzyyzC670デフォルトの名無しさん
2020/08/02(日) 20:12:02.85ID:hIQzyyzC671デフォルトの名無しさん
2020/08/02(日) 20:12:54.07ID:mglN/rTr672デフォルトの名無しさん
2020/08/02(日) 22:39:25.35ID:mglN/rTr >>670
素因数分解して,最適な読み出しサイズとブロック単位を決定するのおもしろそう。
素因数分解して,最適な読み出しサイズとブロック単位を決定するのおもしろそう。
673デフォルトの名無しさん
2020/08/03(月) 07:46:56.04ID:U44E4Fsa すみません、
出来てもやるべきでないのは分かるんですけど、
日本語でシンボリックリンク張って日本語でコマンド呼び出しってできますっけ?
$ エコー ヤッホー
ヤッホー
$
みたいな。
出来てもやるべきでないのは分かるんですけど、
日本語でシンボリックリンク張って日本語でコマンド呼び出しってできますっけ?
$ エコー ヤッホー
ヤッホー
$
みたいな。
674デフォルトの名無しさん
2020/08/03(月) 08:04:35.59ID:mpHVQN+T >>673
自分でやってみたら?
自分でやってみたら?
675デフォルトの名無しさん
2020/08/04(火) 20:42:37.24ID:Bm48LwqI できると思うけどな
環境によりけりかな?
使ってる文字コードがシフトJISみたいなやつだとダメかも知れないが、それでも大丈夫なようには作れるからなんとも言えない
環境によりけりかな?
使ってる文字コードがシフトJISみたいなやつだとダメかも知れないが、それでも大丈夫なようには作れるからなんとも言えない
676デフォルトの名無しさん
2020/08/04(火) 21:14:57.71ID:SyQYqCbe そもそもLinux/UnixはShiftJISをサポートできない
OSの設計的に不可能
("無理やり"やってるのはあるが動作保証できない)
OSの設計的に不可能
("無理やり"やってるのはあるが動作保証できない)
677デフォルトの名無しさん
2020/08/04(火) 21:57:03.67ID:nAqHRtEu >>676
逆にWindowsって,「無理やり」じゃなくShift-JISに対応できてたん?
そっちの方が驚きなんだが。
俺には文脈不明の状態でエスケープ文字とバイト化文字の一部とを判別する
OSネイティブな方法が思い付かないw
逆にWindowsって,「無理やり」じゃなくShift-JISに対応できてたん?
そっちの方が驚きなんだが。
俺には文脈不明の状態でエスケープ文字とバイト化文字の一部とを判別する
OSネイティブな方法が思い付かないw
678デフォルトの名無しさん
2020/08/04(火) 22:20:38.92ID:SyQYqCbe >>677
Windows NTは最初のバージョン(1994年)から
Unicode(UTF-16)対応だからね
UTF-16は文字の一部にNULL文字が入るから
当時からC言語の標準ライブラリでは扱えないことがわかっていた
マルチバイト文字は最初から対策済みなわけよ
Windows NTは最初のバージョン(1994年)から
Unicode(UTF-16)対応だからね
UTF-16は文字の一部にNULL文字が入るから
当時からC言語の標準ライブラリでは扱えないことがわかっていた
マルチバイト文字は最初から対策済みなわけよ
679デフォルトの名無しさん
2020/08/04(火) 22:51:05.57ID:tCUx/sk1680デフォルトの名無しさん
2020/08/04(火) 23:01:03.79ID:SyQYqCbe681デフォルトの名無しさん
2020/08/04(火) 23:02:50.20ID:tCUx/sk1 >>678
同時に、OEM文字コードとしてシフトJISを採用したのだから、できない理由になってない。
ちなみに、UTF-16を採用したのは、当時は全多言語がUCS-2を前提にしてたからやろ。
振り返ると微妙な選択だったが、当時の外人にはわからんかったのはしゃあない。
同時に、OEM文字コードとしてシフトJISを採用したのだから、できない理由になってない。
ちなみに、UTF-16を採用したのは、当時は全多言語がUCS-2を前提にしてたからやろ。
振り返ると微妙な選択だったが、当時の外人にはわからんかったのはしゃあない。
682デフォルトの名無しさん
2020/08/04(火) 23:05:00.00ID:SyQYqCbe >>681
Windowsは初期バージョンから多言語対応として作られてるという話
Windowsは初期バージョンから多言語対応として作られてるという話
683デフォルトの名無しさん
2020/08/04(火) 23:06:56.83ID:Btmoo/Kt 普通にShift-JISなUNIXとかあったし。
UNIXの多くのシステムコールでは、char*型引数は単なるバイト列で、別に\とかが意見を持ったりしない(ただしファイル名の/を除く。他に例外があるかは知らない。)。
Shift-JISでは2バイト目に/もnulも来ないから普通は問題ない。
ユーザーランドは何とでもなる。
今時のlinuxなら
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
$ export LANG=ja_JP.sjis
で動く。
ja_JP.utf8とja_JP.eucJPどっちでも動くなら、localeに対応しているから、多分sjisでも動く。
普通にシェルとかも問題ない。
UNIXの多くのシステムコールでは、char*型引数は単なるバイト列で、別に\とかが意見を持ったりしない(ただしファイル名の/を除く。他に例外があるかは知らない。)。
Shift-JISでは2バイト目に/もnulも来ないから普通は問題ない。
ユーザーランドは何とでもなる。
今時のlinuxなら
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
$ export LANG=ja_JP.sjis
で動く。
ja_JP.utf8とja_JP.eucJPどっちでも動くなら、localeに対応しているから、多分sjisでも動く。
普通にシェルとかも問題ない。
684デフォルトの名無しさん
2020/08/04(火) 23:09:26.33ID:tCUx/sk1 >>680
じゃあ、C言語のどこにシフトJISを拒絶する要素が?
C言語が文字コードに求めてるのは終端が「¥0」であることだけだろ。
シフトJISもその条件に反しないが。
なお、エスケープが面倒というのは、できない理由にはならないので、念のため。
じゃあ、C言語のどこにシフトJISを拒絶する要素が?
C言語が文字コードに求めてるのは終端が「¥0」であることだけだろ。
シフトJISもその条件に反しないが。
なお、エスケープが面倒というのは、できない理由にはならないので、念のため。
685デフォルトの名無しさん
2020/08/04(火) 23:15:26.51ID:tCUx/sk1686デフォルトの名無しさん
2020/08/05(水) 00:11:31.18ID:NEgglKp4 $ echo $BASH_VERSION
5.0.17(1)-release
$ echo $LANG
ja_JP.UTF-8
$ touch "$(echo ソ表.txt| nkf -s)"
$ export LANG=ja_JP.sjis
$ ls -1 *.txt
'ソ表.txt'
$ ls -1 *.txt | od -tx1a
0000000 83 5c 95 5c 2e 74 78 74 0a
etx \ nak \ . t x t nl
5.0.17(1)-release
$ echo $LANG
ja_JP.UTF-8
$ touch "$(echo ソ表.txt| nkf -s)"
$ export LANG=ja_JP.sjis
$ ls -1 *.txt
'ソ表.txt'
$ ls -1 *.txt | od -tx1a
0000000 83 5c 95 5c 2e 74 78 74 0a
etx \ nak \ . t x t nl
687デフォルトの名無しさん
2020/08/05(水) 00:11:35.72ID:AdI/6NZo688デフォルトの名無しさん
2020/08/05(水) 00:46:48.96ID:RWwgydsE689デフォルトの名無しさん
2020/08/05(水) 01:06:50.99ID:RWwgydsE >>686
それは、lsとターミナルががんばったおかげじゃない?w
ダメなケースがあるんじゃないかと思うんだけど、みんなに期待してええんかな?
あ、シフトJIS対応についてのオレの認識は、カーネルには関係ないだろうしシェルは不可能ではないが茨の道やろなあ、くらい。
それは、lsとターミナルががんばったおかげじゃない?w
ダメなケースがあるんじゃないかと思うんだけど、みんなに期待してええんかな?
あ、シフトJIS対応についてのオレの認識は、カーネルには関係ないだろうしシェルは不可能ではないが茨の道やろなあ、くらい。
690デフォルトの名無しさん
2020/08/05(水) 01:46:22.40ID:vmNTB6tp 行末に、ダメ文字があれば、
\ で、改行がエスケープされるとか?
\ で、改行がエスケープされるとか?
691デフォルトの名無しさん
2020/08/05(水) 03:13:28.66ID:AdI/6NZo やれやれだなw
例えば文字を一文字ずつ見ていって
_をスペースに置き換える処理は
漢字を壊すんだよ
例えば文字を一文字ずつ見ていって
_をスペースに置き換える処理は
漢字を壊すんだよ
692デフォルトの名無しさん
2020/08/05(水) 06:17:52.92ID:eDoiMqdf それはやなカンジ
693デフォルトの名無しさん
2020/08/05(水) 06:34:24.95ID:gqsMBs9q bashでダメ文字列を試したら、
a)問題なし
コマンドラインでの入力編集、ヒストリー、コマンドに渡る引数、外部コマンド呼び出し、カレントディレクトリの扱い、行末の\及びダメ文字の扱い、変数の代入と使用、変数のlengthとsubstring、コマンド置換、リダイレクトのファイル名、echo及びprintf、シェル関数名 など大部分
b)一部問題あり
PS1の\wが文字化け($PWDを使うと化けない)
c)問題あり
・globで、5cを含むマルチバイト文字が2文字とカウントされる(「ソ」が?ではなく??で選ばれる。他のASCIIと被る文字は問題ない。)
・変数の置換
abc=オソソソソソソソとして、
${abc//オ/ロ}は動くけど${abc//ソ/ロ}は駄目
一方で${abc//オ/ソ}は問題ない
たしか置換前の方がglob扱いだったから、これは上のglobを直せば同時に直るかもしれない
・alias名
ちょっとした修正で全く問題なくなりそう
a)問題なし
コマンドラインでの入力編集、ヒストリー、コマンドに渡る引数、外部コマンド呼び出し、カレントディレクトリの扱い、行末の\及びダメ文字の扱い、変数の代入と使用、変数のlengthとsubstring、コマンド置換、リダイレクトのファイル名、echo及びprintf、シェル関数名 など大部分
b)一部問題あり
PS1の\wが文字化け($PWDを使うと化けない)
c)問題あり
・globで、5cを含むマルチバイト文字が2文字とカウントされる(「ソ」が?ではなく??で選ばれる。他のASCIIと被る文字は問題ない。)
・変数の置換
abc=オソソソソソソソとして、
${abc//オ/ロ}は動くけど${abc//ソ/ロ}は駄目
一方で${abc//オ/ソ}は問題ない
たしか置換前の方がglob扱いだったから、これは上のglobを直せば同時に直るかもしれない
・alias名
ちょっとした修正で全く問題なくなりそう
694デフォルトの名無しさん
2020/08/05(水) 08:19:35.02ID:AdI/6NZo × ちょっとした修正で全く問題なくなりそう
○ 多数のソフトを修正しなければならないから大問題
○ 多数のソフトを修正しなければならないから大問題
695デフォルトの名無しさん
2020/08/05(水) 08:21:45.48ID:AdI/6NZo SJISの問題は _ の話だけじゃないよ
ASCII文字のほぼ半分。制御文字と数字と一部の記号除いた
アルファベット文字に関する処理すべてが漢字の文字に影響する
例えばAを検索すると一部の漢字にマッチするし
Aを置換すると一部の漢字を壊す
ASCII文字のほぼ半分。制御文字と数字と一部の記号除いた
アルファベット文字に関する処理すべてが漢字の文字に影響する
例えばAを検索すると一部の漢字にマッチするし
Aを置換すると一部の漢字を壊す
696デフォルトの名無しさん
2020/08/05(水) 08:46:51.45ID:AdI/6NZo cat sjis.txt | tr [a-z] [A-Z] > sjis2.txt
ナニヌネノ -> オカガキギ に化ける
地震で津波が発生 -> 誰尻で津濡が発生 に化ける
ナニヌネノ -> オカガキギ に化ける
地震で津波が発生 -> 誰尻で津濡が発生 に化ける
697デフォルトの名無しさん
2020/08/05(水) 09:21:26.65ID:eyNhEtAe > 誰尻で津濡が発生
俺のフィンガーテクを受けたやつはみんなこうなる
俺のフィンガーテクを受けたやつはみんなこうなる
698デフォルトの名無しさん
2020/08/05(水) 09:42:07.23ID:EDez6Utv かつてEUC対応していたこととは次元が違うん?
699デフォルトの名無しさん
2020/08/05(水) 10:01:54.20ID:Mw508nfj というか「WindowsのShift-JISへの対策・対応状況」と
「Linux (Unix) のShift-JISへの対策・対応状況」とでさして違いがない。
「LinuxでShift-JISに対応しようとすると多数のソフトの修正が必要」というのであれば
同じ問題がWindowsでも起きてる。
実際ダメ文字っていう概念はLinuxに限った概念じゃないからね。
むしろWindowsでShift-JISに対応しておらずダメ文字が問題になった例の方が、
人口比的なものもあるだろうけど、より有名じゃない?
「Linux (Unix) のShift-JISへの対策・対応状況」とでさして違いがない。
「LinuxでShift-JISに対応しようとすると多数のソフトの修正が必要」というのであれば
同じ問題がWindowsでも起きてる。
実際ダメ文字っていう概念はLinuxに限った概念じゃないからね。
むしろWindowsでShift-JISに対応しておらずダメ文字が問題になった例の方が、
人口比的なものもあるだろうけど、より有名じゃない?
700デフォルトの名無しさん
2020/08/05(水) 10:08:58.04ID:RWwgydsE >>695
それはOSの問題ではない。
そんな処理をしたユーザーが問題。
たとえば、英字の大文字小文字変換としてコード値に0x20を加減したら、ASCIIならうまくいくが、UTF-8 ならうまくいかない。
現実のテキスト処理をするなら、文字コードの仕様にあわせることはあたりまえ。
シフトJISなら、バイトがマルチバイト文字の上位バイトか下位バイトかいずれでもないかは当然区別して処理しないと。
それはOSの問題ではない。
そんな処理をしたユーザーが問題。
たとえば、英字の大文字小文字変換としてコード値に0x20を加減したら、ASCIIならうまくいくが、UTF-8 ならうまくいかない。
現実のテキスト処理をするなら、文字コードの仕様にあわせることはあたりまえ。
シフトJISなら、バイトがマルチバイト文字の上位バイトか下位バイトかいずれでもないかは当然区別して処理しないと。
701デフォルトの名無しさん
2020/08/05(水) 10:15:34.47ID:AdI/6NZo702デフォルトの名無しさん
2020/08/05(水) 10:16:23.73ID:AdI/6NZo703デフォルトの名無しさん
2020/08/05(水) 10:19:36.65ID:AdI/6NZo >>700
> たとえば、英字の大文字小文字変換としてコード値に0x20を加減したら、ASCIIならうまくいくが、UTF-8 ならうまくいかない。
アホなの?
UTF-8であっても「英字の大文字小文字変換」で「ASCIIの英字大文字」を渡したらうまくいく
お前が言ってるのは「英字の大文字小文字変換」で「ASCIIの英字大文字以外(例えばASCIIの数字)」を
渡したらうまくいかないと言ってるのと同じことだぞ
> たとえば、英字の大文字小文字変換としてコード値に0x20を加減したら、ASCIIならうまくいくが、UTF-8 ならうまくいかない。
アホなの?
UTF-8であっても「英字の大文字小文字変換」で「ASCIIの英字大文字」を渡したらうまくいく
お前が言ってるのは「英字の大文字小文字変換」で「ASCIIの英字大文字以外(例えばASCIIの数字)」を
渡したらうまくいかないと言ってるのと同じことだぞ
704デフォルトの名無しさん
2020/08/05(水) 10:26:28.53ID:RWwgydsE705デフォルトの名無しさん
2020/08/05(水) 10:27:55.11ID:RWwgydsE706デフォルトの名無しさん
2020/08/05(水) 10:43:41.96ID:AdI/6NZo >>705
だからお前が持ち出した「英字の大文字小文字変換」という例は
UTF-8でもSJISでも共に「英字の大文字」にしか対応しておらず
「英字の大文字以外」の動作は "未定義" のコードだろ
未定義なんだからうまくいかなくても想定通りの動作だ
俺が出した tr [a-z] [A-Z] というコードは
「英字の小文字を大文字に変換し"それ以外はそのまま"」というコードなんだよ
UTF-8の文字列を渡した場合は、正しく動くが
SJISの文字列を渡した場合は、正しく動かないんだよ
SJISのために余計な処理が必要になる
Linux/UnixでSJISに対応しようとしたら
このような余計な処理がたくさん必要になるという話をしてる
だからお前が持ち出した「英字の大文字小文字変換」という例は
UTF-8でもSJISでも共に「英字の大文字」にしか対応しておらず
「英字の大文字以外」の動作は "未定義" のコードだろ
未定義なんだからうまくいかなくても想定通りの動作だ
俺が出した tr [a-z] [A-Z] というコードは
「英字の小文字を大文字に変換し"それ以外はそのまま"」というコードなんだよ
UTF-8の文字列を渡した場合は、正しく動くが
SJISの文字列を渡した場合は、正しく動かないんだよ
SJISのために余計な処理が必要になる
Linux/UnixでSJISに対応しようとしたら
このような余計な処理がたくさん必要になるという話をしてる
707デフォルトの名無しさん
2020/08/05(水) 10:46:33.42ID:AdI/6NZo >>705
言い返したかったら
英字の大文字小文字変換としてコード値に0x20を加減するコード
かつ、それ以外の文字は変換しないコードにしてみ?
そしたらそれは、UTF-8なら正しく動作し、
SJISだと漢字を壊すコードになるから
(SJISのための処理を追加しない限り)
言い返したかったら
英字の大文字小文字変換としてコード値に0x20を加減するコード
かつ、それ以外の文字は変換しないコードにしてみ?
そしたらそれは、UTF-8なら正しく動作し、
SJISだと漢字を壊すコードになるから
(SJISのための処理を追加しない限り)
708デフォルトの名無しさん
2020/08/05(水) 11:07:15.58ID:RWwgydsE709デフォルトの名無しさん
2020/08/05(水) 11:10:30.69ID:OjEDy2ZO710デフォルトの名無しさん
2020/08/05(水) 11:18:48.18ID:cfMvwLfN711デフォルトの名無しさん
2020/08/05(水) 11:19:10.36ID:cfMvwLfN712デフォルトの名無しさん
2020/08/05(水) 12:38:59.89ID:Mw508nfj >>709
そうそう。
それが修正されたことが「OSとしてのShift-JIS対応」だと言うんなら,
Linuxでも「OSとしてのShift-JIS対応」はされてる。
C言語であろうが何であろうが,ダメ文字に対処することは可能だからね。
そうそう。
それが修正されたことが「OSとしてのShift-JIS対応」だと言うんなら,
Linuxでも「OSとしてのShift-JIS対応」はされてる。
C言語であろうが何であろうが,ダメ文字に対処することは可能だからね。
713デフォルトの名無しさん
2020/08/05(水) 12:42:59.18ID:guh8E5Hj >>712
OSに関する点すべてを修正することが「OSとしてのSJIS対応」
局所的に一箇所だけ修正して、それ以外は修正されてないなら
それは「OSとしてのSJIS対応」ではない
完全対応かどうかって話をしてる
OSに関する点すべてを修正することが「OSとしてのSJIS対応」
局所的に一箇所だけ修正して、それ以外は修正されてないなら
それは「OSとしてのSJIS対応」ではない
完全対応かどうかって話をしてる
714デフォルトの名無しさん
2020/08/05(水) 12:50:09.73ID:Mw508nfj なんかもうあほらしくて議論する気がなくなってきたけど
WindowsのShift-JIS対応が「完全」なら,
どうしてWindows上でダメ文字対応する必要が(今だに)あるんですかね?
あ、「それはWindows上のwin32 APIで用意されているShift-JIS対応の機能を使ってないからだ!」
っていう反論はなしね。
それってあなたが「LinuxはOSとしてはヾhift-JIS対応していない」ことの理由に挙げている
「Linux上のglibcやlibiconvで用意されているShift-JIS対応の機能を使えば」っていう文脈と同じだもの。
WindowsのShift-JIS対応が「完全」なら,
どうしてWindows上でダメ文字対応する必要が(今だに)あるんですかね?
あ、「それはWindows上のwin32 APIで用意されているShift-JIS対応の機能を使ってないからだ!」
っていう反論はなしね。
それってあなたが「LinuxはOSとしてはヾhift-JIS対応していない」ことの理由に挙げている
「Linux上のglibcやlibiconvで用意されているShift-JIS対応の機能を使えば」っていう文脈と同じだもの。
715デフォルトの名無しさん
2020/08/05(水) 12:53:10.21ID:lrr9/7h8 そろそろOSのスレに行ったら?
シェルスクリプト関連からなんてOSの内部なんて知らん、せいぜいAPIがOSな感じ
WindowsだってShift-JISとUnicodeとふた系統のAPIが用意され、Shift-JISのAPIを使ってたら=使われていた使われている同じ=シェルスクリプトのスレで違いを論じあってるのがおかしい
シェルスクリプト関連からなんてOSの内部なんて知らん、せいぜいAPIがOSな感じ
WindowsだってShift-JISとUnicodeとふた系統のAPIが用意され、Shift-JISのAPIを使ってたら=使われていた使われている同じ=シェルスクリプトのスレで違いを論じあってるのがおかしい
716デフォルトの名無しさん
2020/08/05(水) 12:55:28.80ID:lrr9/7h8 >>714
アプリケーションコードレベルでなんかやってたらかな。まあやるだろうけど
OSの内部でUnicodeだからアプリケーションもUnicodeでというのは、まあやらんな、Shift-JIS APIを使ってるようなのは
シェルスクリプトで使うコマンドやシェルも同じことだな
アプリケーションコードレベルでなんかやってたらかな。まあやるだろうけど
OSの内部でUnicodeだからアプリケーションもUnicodeでというのは、まあやらんな、Shift-JIS APIを使ってるようなのは
シェルスクリプトで使うコマンドやシェルも同じことだな
717デフォルトの名無しさん
2020/08/05(水) 12:57:27.49ID:guh8E5Hj >>714
> どうしてWindows上でダメ文字対応する必要が(今だに)あるんですかね?
自分で「Windows上」って言ってるから、お前
OSの対応とOS上の対応は違うってわかっててわざと言ってるんだろ?
そいうあからさまな釣りにレスする価値ないね
でなおしてきな
> どうしてWindows上でダメ文字対応する必要が(今だに)あるんですかね?
自分で「Windows上」って言ってるから、お前
OSの対応とOS上の対応は違うってわかっててわざと言ってるんだろ?
そいうあからさまな釣りにレスする価値ないね
でなおしてきな
718デフォルトの名無しさん
2020/08/05(水) 13:04:26.79ID:lrr9/7h8 Shift-JISなんてLinuxなどでも今頃使わない廃れたコードに拘ってるのがおかしい
未だになんか(ちょっと)拘ってるOSがあるようだけど
どうせなら、Unicode(UTF-8)でのLinuxなどの問題を言えよw Shift-JISなんて誰も使わないのを論じるより益があるだろう、発端のも別にShift-JISと言っているわけではないようだし
未だになんか(ちょっと)拘ってるOSがあるようだけど
どうせなら、Unicode(UTF-8)でのLinuxなどの問題を言えよw Shift-JISなんて誰も使わないのを論じるより益があるだろう、発端のも別にShift-JISと言っているわけではないようだし
719デフォルトの名無しさん
2020/08/05(水) 13:16:42.98ID:guh8E5Hj >>718
今はOSが対応してるかの話をしてるだけ
Windowsは内部コードがUTF-16でSJIS等はUTF-16に変換して処理される
WindowsのAPIのうち、ANSI対応のAPIがSJIS等に対応しているAPIで
このAPIの存在がまさにWindowsがSJIS等の対応しているという証明になってる
そしてOSに付属しているコマンドもしっかりSJIS等に対応してある
しかしLinux/UnixにはそういうったAPI(システムコール)が存在しない
だからOSではない部分で独自に対応しないといけない上に、
付属のコマンドは多くががSJISに対応していない
今はOSが対応してるかの話をしてるだけ
Windowsは内部コードがUTF-16でSJIS等はUTF-16に変換して処理される
WindowsのAPIのうち、ANSI対応のAPIがSJIS等に対応しているAPIで
このAPIの存在がまさにWindowsがSJIS等の対応しているという証明になってる
そしてOSに付属しているコマンドもしっかりSJIS等に対応してある
しかしLinux/UnixにはそういうったAPI(システムコール)が存在しない
だからOSではない部分で独自に対応しないといけない上に、
付属のコマンドは多くががSJISに対応していない
720デフォルトの名無しさん
2020/08/05(水) 13:27:21.34ID:lrr9/7h8 >>719
Windows APIを使ったのを書いたことがないとしか思えない
Windows API には Shift-JISバージョンとUnicodeバージョンがある、Shift-JISバージョンを使っていたら内部でどうであれ同じ問題は起こり得る
同じように、Shift-JISに対応したLinuxなどではAPIで問題が起こることはないだろう、ロケールでShift-JIS設定できて問題ないんだろう実際に
何を論じてる、その違いでどう問題が起こると言っているのかさっぱりだな。てか、そんな問題は今時起こらない(UTF-8にしてるのが当たり前な)のでそんなの言っても意味ねえとしか思えんけど
Windows APIを使ったのを書いたことがないとしか思えない
Windows API には Shift-JISバージョンとUnicodeバージョンがある、Shift-JISバージョンを使っていたら内部でどうであれ同じ問題は起こり得る
同じように、Shift-JISに対応したLinuxなどではAPIで問題が起こることはないだろう、ロケールでShift-JIS設定できて問題ないんだろう実際に
何を論じてる、その違いでどう問題が起こると言っているのかさっぱりだな。てか、そんな問題は今時起こらない(UTF-8にしてるのが当たり前な)のでそんなの言っても意味ねえとしか思えんけど
721デフォルトの名無しさん
2020/08/05(水) 13:32:00.64ID:guh8E5Hj > Windows API には Shift-JISバージョンとUnicodeバージョンがある、
Shift-JISバージョンなどというものはない。
あるのはANSIバージョンだ。
そういう基本から、お前は理解していない。
Shift-JISバージョンなどというものはない。
あるのはANSIバージョンだ。
そういう基本から、お前は理解していない。
722デフォルトの名無しさん
2020/08/05(水) 13:32:21.13ID:guh8E5Hj > 同じように、Shift-JISに対応したLinuxなどでは
存在しない
存在しない
723デフォルトの名無しさん
2020/08/05(水) 13:34:49.46ID:guh8E5Hj Shift-JIS 対応 Linux でぐぐればでてくるだろ?
Linux の Shift JIS サポート
http://www.ossforum.jp/jossfiles/Linux_SJIS_Support.pdf
> なぜ Linux で Shift JIS ロケールがサポートされない
> 現在、日本で利用されている多くの Linux ディストリビューションでも、Unicode 系の UTF-8 がデ
> フォルトとされ、Shift JIS ロケールが用意されているケースでも、利用は推奨されていない。ちなみ
> に、ユーザーのロケール設定は、Linux ターミナル画面で locale コマンドを打てば LANG=
> ja_JP.UTF8 のように表示されるので確認できる。
> Shift JIS 系ロケール(sjis、cp932、ibm943 など、Appendix 1 参照)は、次のような理由のために推
> 奨されていない;
> 1. Linuxの文字処理ライブラリ関数は、Unicode を扱うことを基本としているため、本ライブラリ
> 関数を使ってインプリメントされた Linux システムコマンドでは、ファイルデータの中の文字
> 処理や、ファイル名の処理で、Unicode は正しく扱えても、Shift JIS は扱えないことがある。
> 2. Shift JIS データの処理は、「特別」な扱いとなり、メールクライアント Thunderbird など、個々
> のミドルウェアに多大な開発負担を負わせている。
> 3. 特に、正統 Shift JIS ロケール sjis では、 0x5C=U+00A5 というマッピングのために、オープ
> ン系プログラム(C言語、Java など)の動作が保証されない。cp932 などでは問題ない。
Linux の Shift JIS サポート
http://www.ossforum.jp/jossfiles/Linux_SJIS_Support.pdf
> なぜ Linux で Shift JIS ロケールがサポートされない
> 現在、日本で利用されている多くの Linux ディストリビューションでも、Unicode 系の UTF-8 がデ
> フォルトとされ、Shift JIS ロケールが用意されているケースでも、利用は推奨されていない。ちなみ
> に、ユーザーのロケール設定は、Linux ターミナル画面で locale コマンドを打てば LANG=
> ja_JP.UTF8 のように表示されるので確認できる。
> Shift JIS 系ロケール(sjis、cp932、ibm943 など、Appendix 1 参照)は、次のような理由のために推
> 奨されていない;
> 1. Linuxの文字処理ライブラリ関数は、Unicode を扱うことを基本としているため、本ライブラリ
> 関数を使ってインプリメントされた Linux システムコマンドでは、ファイルデータの中の文字
> 処理や、ファイル名の処理で、Unicode は正しく扱えても、Shift JIS は扱えないことがある。
> 2. Shift JIS データの処理は、「特別」な扱いとなり、メールクライアント Thunderbird など、個々
> のミドルウェアに多大な開発負担を負わせている。
> 3. 特に、正統 Shift JIS ロケール sjis では、 0x5C=U+00A5 というマッピングのために、オープ
> ン系プログラム(C言語、Java など)の動作が保証されない。cp932 などでは問題ない。
724デフォルトの名無しさん
2020/08/05(水) 13:37:54.50ID:lrr9/7h8725デフォルトの名無しさん
2020/08/05(水) 13:42:18.61ID:guh8E5Hj > そのANSIとやらの内部でShift-JISに対応してんだがな=Shift-JISバージョン
だから最初から俺が、SJISはWindows NTの内部文字コードであるUTF-16に変換しているから
WindowsはSJISに対応してると言ってるだろ。APIはOSの機能だ。
> だったらShift-JISなんてロケールできねえわな
今LinuxでSJISロケールに対応しているものは現存しない
あったら教えてくれや
昔、実験的に作られて実用的じゃなかったから
今LinuxでSJISロケールが存在ししてない。証拠の一つ。
Windowsが今も標準でSJISに対応してるのとは対象的だな
だから最初から俺が、SJISはWindows NTの内部文字コードであるUTF-16に変換しているから
WindowsはSJISに対応してると言ってるだろ。APIはOSの機能だ。
> だったらShift-JISなんてロケールできねえわな
今LinuxでSJISロケールに対応しているものは現存しない
あったら教えてくれや
昔、実験的に作られて実用的じゃなかったから
今LinuxでSJISロケールが存在ししてない。証拠の一つ。
Windowsが今も標準でSJISに対応してるのとは対象的だな
726デフォルトの名無しさん
2020/08/05(水) 13:52:00.11ID:guh8E5Hj ん?もしかしてこいつ。ANSIバージョンのAPIで
もしSJISだったら特殊な処理を行う。みたいな行き当たりばったりな
コードが入ってると思ってんじゃねーか?w
ANSIバージョンのAPIは単純に現在のコードページ(SJIS等)から
UTF-16に変換(またははその逆)をしてるだけなんだが
Windows NTは内部的には全部UTF-16で処理してるのだからSJIS特有の処理は行っていない
OSの機能としてANSIバージョンは文字コードの変換機能が行われてるだけ
繰り返すが。OSの機能として。これがOSの機能。
もしSJISだったら特殊な処理を行う。みたいな行き当たりばったりな
コードが入ってると思ってんじゃねーか?w
ANSIバージョンのAPIは単純に現在のコードページ(SJIS等)から
UTF-16に変換(またははその逆)をしてるだけなんだが
Windows NTは内部的には全部UTF-16で処理してるのだからSJIS特有の処理は行っていない
OSの機能としてANSIバージョンは文字コードの変換機能が行われてるだけ
繰り返すが。OSの機能として。これがOSの機能。
727デフォルトの名無しさん
2020/08/05(水) 13:54:00.12ID:lrr9/7h8 何その最初のごまかしは。お前は、
>Shift-JISバージョンなどというものはない。
>あるのはANSIバージョンだ。
と言っているんだけど?ただの厳密な(?)名称のをか?残念ながら日本ではShift-JISを使うのが当たり前で、ある意味後でUnicodeがなので、歴然とShift-JISバージョンのAPIという認識されてる
書いたことないなら知らんだろうけど
>昔、実験的に作られて実用的じゃなかったから
>今LinuxでSJISロケールが存在ししてない。証拠の一つ。
何それww存在してないわけではなくデフォで入ってないとかじゃないの?てか、やっぱり何それ
だったら「全く」Shift-JISに拘る根拠は皆無だな
>Shift-JISバージョンなどというものはない。
>あるのはANSIバージョンだ。
と言っているんだけど?ただの厳密な(?)名称のをか?残念ながら日本ではShift-JISを使うのが当たり前で、ある意味後でUnicodeがなので、歴然とShift-JISバージョンのAPIという認識されてる
書いたことないなら知らんだろうけど
>昔、実験的に作られて実用的じゃなかったから
>今LinuxでSJISロケールが存在ししてない。証拠の一つ。
何それww存在してないわけではなくデフォで入ってないとかじゃないの?てか、やっぱり何それ
だったら「全く」Shift-JISに拘る根拠は皆無だな
728デフォルトの名無しさん
2020/08/05(水) 13:56:15.83ID:guh8E5Hj >>727
お前が認識してるだけだろw
世界中でANSIバージョンはSJISバージョンのAPIだと思ってるわけがないだろ
ほんと世界が狭いなw
> 何それww存在してないわけではなくデフォで入ってないとかじゃないの?てか、やっぱり何それ
だから追加できるなら、その追加方法をいえって。
削除されて追加できんねーんだよ
俺の言葉の揚げ足を取るんじゃなくて
お前が証拠を突きつければいいだけ
できないんだよなw
お前が認識してるだけだろw
世界中でANSIバージョンはSJISバージョンのAPIだと思ってるわけがないだろ
ほんと世界が狭いなw
> 何それww存在してないわけではなくデフォで入ってないとかじゃないの?てか、やっぱり何それ
だから追加できるなら、その追加方法をいえって。
削除されて追加できんねーんだよ
俺の言葉の揚げ足を取るんじゃなくて
お前が証拠を突きつければいいだけ
できないんだよなw
729デフォルトの名無しさん
2020/08/05(水) 13:56:44.04ID:lrr9/7h8 >>726
Shift-JIS バージョンの API と Unicode バージョンの API ふた系統あると「俺は」「最初から」言っているんだがな
お前が Shift-JISバージョンなんてない ANSIがあるだけだ と言い出したんだろうが
何その妄想。酷すぎw そんなこと考えるとしたらお前の方だろうがw
無知を色々晒して偉そうにのたまうからそんなわけわからんこと言い出すんだよ
Shift-JIS バージョンの API と Unicode バージョンの API ふた系統あると「俺は」「最初から」言っているんだがな
お前が Shift-JISバージョンなんてない ANSIがあるだけだ と言い出したんだろうが
何その妄想。酷すぎw そんなこと考えるとしたらお前の方だろうがw
無知を色々晒して偉そうにのたまうからそんなわけわからんこと言い出すんだよ
730デフォルトの名無しさん
2020/08/05(水) 13:57:02.63ID:guh8E5Hj > 削除されて追加できんねーんだよ
削除されてというか一部で実験的に作られた程度で
本流にマージされたことはない
訂正な
削除されてというか一部で実験的に作られた程度で
本流にマージされたことはない
訂正な
731デフォルトの名無しさん
2020/08/05(水) 13:57:59.41ID:lrr9/7h8732デフォルトの名無しさん
2020/08/05(水) 13:58:02.44ID:guh8E5Hj >>729
> Shift-JIS バージョンの API と Unicode バージョンの API ふた系統あると「俺は」「最初から」言っているんだがな
SJISバージョンのAPIというものはない。
なんど言えば理解するんだ?
そしてANSIバージョン+SJISのコードページに対応して
Windowsが出荷されてるんだから。
ほれみろ。WindowsはSJISに対応してるじゃねーか
> Shift-JIS バージョンの API と Unicode バージョンの API ふた系統あると「俺は」「最初から」言っているんだがな
SJISバージョンのAPIというものはない。
なんど言えば理解するんだ?
そしてANSIバージョン+SJISのコードページに対応して
Windowsが出荷されてるんだから。
ほれみろ。WindowsはSJISに対応してるじゃねーか
733デフォルトの名無しさん
2020/08/05(水) 13:58:49.12ID:guh8E5Hj > ググればすぐあるけど?頑張れよ
それ自分で見つけられなかったときの言い訳じゃんw
相手に探させようとするww
それ自分で見つけられなかったときの言い訳じゃんw
相手に探させようとするww
734デフォルトの名無しさん
2020/08/05(水) 13:59:08.02ID:lrr9/7h8 そこの拘るだけしかないんだな。意味ないな、ガンバレ
735デフォルトの名無しさん
2020/08/05(水) 14:00:12.88ID:guh8E5Hj 今SJISの話をしてるのだからSJISに拘るのは当たり前
736デフォルトの名無しさん
2020/08/05(水) 14:04:15.76ID:lrr9/7h8737デフォルトの名無しさん
2020/08/05(水) 14:05:53.97ID:L2ar51Hq > いや、ググったらすぐにあったけど?
じゃあググったキーワードを書いて
見つけたサイトじゃなくていいよ
キーワードだけでいい
それぐらいできるでしょ?
検索したキーワードなんだから
じゃあググったキーワードを書いて
見つけたサイトじゃなくていいよ
キーワードだけでいい
それぐらいできるでしょ?
検索したキーワードなんだから
738デフォルトの名無しさん
2020/08/05(水) 14:06:46.88ID:L2ar51Hq LinuxでロケールでShift-JISなんてできないということに拘るだけですが?
ゼロって何の話ですか?
ゼロって何の話ですか?
739デフォルトの名無しさん
2020/08/05(水) 14:08:17.67ID:L2ar51Hq Windowsは出荷状態でSJISに対応しているが
LinuxはShift-JISなんてできない
→そうですね
で終わる話だと思いますがね?
なんでそれでだめなんですか?
拘るというのは、そうですねで終われない人の方でしょう
LinuxはShift-JISなんてできない
→そうですね
で終わる話だと思いますがね?
なんでそれでだめなんですか?
拘るというのは、そうですねで終われない人の方でしょう
740デフォルトの名無しさん
2020/08/05(水) 14:39:14.54ID:m77ShW/O 全く面倒臭いな
・linuxカーネルはバイト列で扱うから\0と/さえ区別できれば良く文字コードの概念は基本的にない
・SJISは\0と/の条件を満たすから使える
・GNU/Linuxのユーザーランドにはglibcのlocaleサポートがあり
>683に書いてある通り
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
$ export LANG=ja_JP.sjis
でSJISも使える
これだけのこと
・linuxカーネルはバイト列で扱うから\0と/さえ区別できれば良く文字コードの概念は基本的にない
・SJISは\0と/の条件を満たすから使える
・GNU/Linuxのユーザーランドにはglibcのlocaleサポートがあり
>683に書いてある通り
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
$ export LANG=ja_JP.sjis
でSJISも使える
これだけのこと
741デフォルトの名無しさん
2020/08/05(水) 14:42:30.95ID:RWwgydsE WindowsにはA系APIがあるからセーフという理屈なら、UNIX/Linuxではiconvでもnkfでもあるんだからセーフ。w
A系APIが対応してるのは、ANSIではなく、OEM文字コードなんだけどな。
A系APIが対応してるのは、ANSIではなく、OEM文字コードなんだけどな。
742デフォルトの名無しさん
2020/08/05(水) 15:30:03.21ID:L2ar51Hq ・linuxカーネルは〜
・カーネルとOSは別である
論破w
・カーネルとOSは別である
論破w
743デフォルトの名無しさん
2020/08/05(水) 15:30:32.77ID:L2ar51Hq >>741
多くのアプリがiconvやnkfを使ってない
多くのアプリがiconvやnkfを使ってない
744デフォルトの名無しさん
2020/08/05(水) 15:32:34.75ID:Mw508nfj >>741
これ。
これ。
745デフォルトの名無しさん
2020/08/05(水) 15:34:02.34ID:Mw508nfj746デフォルトの名無しさん
2020/08/05(水) 16:06:44.71ID:RWwgydsE747デフォルトの名無しさん
2020/08/05(水) 16:21:27.81ID:L2ar51Hq カーネルやOSで"対応していない"から
ソフト側で対応するしかなくなって
結果対応してるソフトが大幅に減ってる
ソフト側で対応するしかなくなって
結果対応してるソフトが大幅に減ってる
748デフォルトの名無しさん
2020/08/05(水) 16:33:14.08ID:RWwgydsE749デフォルトの名無しさん
2020/08/05(水) 19:47:59.44ID:L2ar51Hq750デフォルトの名無しさん
2020/08/05(水) 19:57:21.12ID:Mw508nfj >>749
glibc
glibc
751デフォルトの名無しさん
2020/08/05(水) 20:01:03.00ID:L2ar51Hq glibcはC言語用ライブラリに過ぎない
752デフォルトの名無しさん
2020/08/05(水) 20:02:17.75ID:M377peH6 ここ一生文字コードの話してんな…
753デフォルトの名無しさん
2020/08/05(水) 20:29:25.50ID:RWwgydsE754デフォルトの名無しさん
2020/08/05(水) 20:30:18.97ID:RWwgydsE >>752
文字コードの話は鬼門だからね。。。
文字コードの話は鬼門だからね。。。
755デフォルトの名無しさん
2020/08/05(水) 20:32:14.77ID:xVHqlCRp キチガイは無意味なことに異常に拘るからな
756デフォルトの名無しさん
2020/08/05(水) 20:39:40.85ID:L2ar51Hq >>753
> また、Windowsの多くのAPIは、DLLで提供されてるただの関数でしかない。
それをいうなら、
Windowsの多くのAPIは、OSで提供されてるただの関数でしかない。
だろ?
今はOSが対応しているかどうかの話をしてるんだから
> また、Windowsの多くのAPIは、DLLで提供されてるただの関数でしかない。
それをいうなら、
Windowsの多くのAPIは、OSで提供されてるただの関数でしかない。
だろ?
今はOSが対応しているかどうかの話をしてるんだから
757デフォルトの名無しさん
2020/08/05(水) 21:05:44.83ID:Mw508nfj もうなんでもありやな。
Windowsってスゲー!w
Windowsってスゲー!w
758デフォルトの名無しさん
2020/08/05(水) 21:07:02.99ID:Mw508nfj いやある意味マジで凄い,とも言えるな。
Linuxだと集客力がなさすぎて,ある程度論理的思考ができる人間しか寄せ付けないけれど,
Windowsには(謎の)集客性があるから,[検閲されました]。
Linuxだと集客力がなさすぎて,ある程度論理的思考ができる人間しか寄せ付けないけれど,
Windowsには(謎の)集客性があるから,[検閲されました]。
759デフォルトの名無しさん
2020/08/05(水) 21:12:27.34ID:L2ar51Hq > [検閲されました]。
これ面白いと思って書いてんの?
これ面白いと思って書いてんの?
760デフォルトの名無しさん
2020/08/05(水) 21:30:49.87ID:xVHqlCRp761デフォルトの名無しさん
2020/08/05(水) 22:59:53.29ID:ilbg2XF8 日本語の設定表記ってjaなのかJPなのか分からなくなるわ
762デフォルトの名無しさん
2020/08/05(水) 23:11:03.71ID:Mw508nfj763デフォルトの名無しさん
2020/08/06(木) 00:08:14.61ID:pS9zPYMv ja_JP
en_US
この2つが頭に入ったらどっちがどっちか迷うことはなくなったな。
「US」が絶対に「国」だから。w
en_US
この2つが頭に入ったらどっちがどっちか迷うことはなくなったな。
「US」が絶対に「国」だから。w
764デフォルトの名無しさん
2020/08/06(木) 04:06:10.65ID:cHZDAcP7 >>685
んなもんシェルがlocale対応してないだけの問題じゃん。
んなもんシェルがlocale対応してないだけの問題じゃん。
765デフォルトの名無しさん
2020/08/06(木) 06:19:58.08ID:hlsSANZk ではシェルがlocaleに対応していたらSJIS対応になるのだろうか?
もちろん違う。なぜならlocaleがSJISに対応してないからだ
もちろん違う。なぜならlocaleがSJISに対応してないからだ
766デフォルトの名無しさん
2020/08/06(木) 08:08:10.25ID:v5q+3Q4z 結局最初の質問に対する答えとしては,
いまどきのマトモなOSは,
端末上の文字表示に既定でUTF-8を採用していて,
その場合はコマンド名に非ASCII文字を用いても問題は生じない。
でいいのかな?
いまどきのマトモなOSは,
端末上の文字表示に既定でUTF-8を採用していて,
その場合はコマンド名に非ASCII文字を用いても問題は生じない。
でいいのかな?
767デフォルトの名無しさん
2020/08/06(木) 08:15:03.38ID:hlsSANZk768デフォルトの名無しさん
2020/08/06(木) 09:06:38.59ID:hTdGagRd × localeがSJISに対応してないから
○ シェルのlocale対応が中途半端だから
○ シェルのlocale対応が中途半端だから
769デフォルトの名無しさん
2020/08/06(木) 09:09:57.95ID:mDao40Cq >>766
そう考えて差し支えないし、大抵はロケール対応してるから他の文字コードでも同様に非ASCII利用可(SJISも可)
そう考えて差し支えないし、大抵はロケール対応してるから他の文字コードでも同様に非ASCII利用可(SJISも可)
770デフォルトの名無しさん
2020/08/06(木) 10:08:45.34ID:9YoRhsMg そういえば、昔のCygwin、output-metaがoffだったな
771デフォルトの名無しさん
2020/08/06(木) 11:58:34.79ID:RYGFOdbJ シェルはOSの一部。WindowsのシェルもOSの一部
772デフォルトの名無しさん
2020/08/06(木) 12:36:15.57ID:v5q+3Q4z 荒しは黙ってNG
773デフォルトの名無しさん
2020/08/06(木) 13:00:47.50ID:Dywe59yG メガネは身体の一部。
774デフォルトの名無しさん
2020/08/06(木) 13:07:28.07ID:RYGFOdbJ >>773
体を手に入れたらメガネが付いてるわけじゃないからなぁw
体を手に入れたらメガネが付いてるわけじゃないからなぁw
775デフォルトの名無しさん
2020/08/06(木) 13:31:59.57ID:9YoRhsMg メガネは顔の一部です♪
776デフォルトの名無しさん
2020/08/06(木) 16:26:05.72ID:v5q+3Q4z メガネは顔の一部じゃない あなたは私のすべてじゃない
777デフォルトの名無しさん
2020/08/10(月) 16:59:38.66ID:BcFTAJq0 zshって:コマンドが遅いと思ったら、:という名前の関数を定義できるから
何もしないコマンドではなく関数呼び出しのようになってるんだろうな
めんどくさいね
何もしないコマンドではなく関数呼び出しのようになってるんだろうな
めんどくさいね
778デフォルトの名無しさん
2020/08/10(月) 17:59:39.62ID:IQ3fIsH1 絵文字→数値文字参照に変換したいんだけどシェルだけじゃ無理?
たとえば「😀」であったら「&# 128512;」みたいな
nkfで数値文字参照→絵文字の逆パターンはできるっぽいけど
たとえば「😀」であったら「&# 128512;」みたいな
nkfで数値文字参照→絵文字の逆パターンはできるっぽいけど
779デフォルトの名無しさん
2020/08/10(月) 18:12:59.63ID:jBTjAApo printf '&#%d;' \'
780デフォルトの名無しさん
2020/08/10(月) 18:18:15.92ID:BcFTAJq0 >778
できるよ
#!/bin/bash
unk="??" # ← うんこの絵文字
printf '%x' "'$unk" # 1f4a9
ただしbashのようにUnicode対応してるシェルじゃないと駄目
dashのように対応してないシェルだと1バイトずつの処理になるからから
UTF-8 → コードポイントへの変換処理を自前でやる必要がある
あと文字ではなく文字列の場合は1文字ずつループする必要があるね
これもbashだったら簡単だけど、dashとかだと苦労する。
dash等の場合パフォーマンスの点からodコマンドで
8進数化して処理したほうが速いかもしれない
どちらにしろまあ手間がかかる
できるよ
#!/bin/bash
unk="??" # ← うんこの絵文字
printf '%x' "'$unk" # 1f4a9
ただしbashのようにUnicode対応してるシェルじゃないと駄目
dashのように対応してないシェルだと1バイトずつの処理になるからから
UTF-8 → コードポイントへの変換処理を自前でやる必要がある
あと文字ではなく文字列の場合は1文字ずつループする必要があるね
これもbashだったら簡単だけど、dashとかだと苦労する。
dash等の場合パフォーマンスの点からodコマンドで
8進数化して処理したほうが速いかもしれない
どちらにしろまあ手間がかかる
781デフォルトの名無しさん
2020/08/10(月) 18:25:22.89ID:HYtJuMAc こんにちは
PowerShellだと自作のhoge.ps1ファイルを実行すれば
hoge.ps1に定義していた関数が使えるようになりますが
Macで同じように自作のpiyo.shに書いて,ターミナルから実行して,
piyo.shに定義していた関数をその後も有効にすることはできないでしょうか
PowerShellと同じ感覚でtest.shに
#!/bin/bash
function hello(){
echo "Hello, World!
}
と書いて実行したら,ターミナル上でその後も関数helloが有効になると思っていたのですが・・・
初心者(今日からはじめました)のでなにもわかってないと思いますが
PowerShellだと自作のhoge.ps1ファイルを実行すれば
hoge.ps1に定義していた関数が使えるようになりますが
Macで同じように自作のpiyo.shに書いて,ターミナルから実行して,
piyo.shに定義していた関数をその後も有効にすることはできないでしょうか
PowerShellと同じ感覚でtest.shに
#!/bin/bash
function hello(){
echo "Hello, World!
}
と書いて実行したら,ターミナル上でその後も関数helloが有効になると思っていたのですが・・・
初心者(今日からはじめました)のでなにもわかってないと思いますが
782デフォルトの名無しさん
2020/08/10(月) 18:27:22.34ID:IQ3fIsH1783デフォルトの名無しさん
2020/08/10(月) 18:31:59.86ID:BcFTAJq0 >>781
source(または . コマンド)で読み込む
シェルスクリプトを「実行」した場合は
新たにプロセスが作られて実行される。
今使ってるシェルでつかえるようにするには
現在のシェルに読み込まなくてはいけない
それがsourceコマンド
でもまあ個人的には外部シェルスクリプトにするほうが
便利な気もするけどな
source(または . コマンド)で読み込む
シェルスクリプトを「実行」した場合は
新たにプロセスが作られて実行される。
今使ってるシェルでつかえるようにするには
現在のシェルに読み込まなくてはいけない
それがsourceコマンド
でもまあ個人的には外部シェルスクリプトにするほうが
便利な気もするけどな
784デフォルトの名無しさん
2020/08/10(月) 18:36:45.96ID:HYtJuMAc ありがとうございました!
785デフォルトの名無しさん
2020/08/10(月) 18:36:55.03ID:BcFTAJq0 printf '%x' "'$unk" # 1f4a9
ところでこの シングルクォート を頭につけるって
仕様どこのバカが考えたんだろうな?
このせいで最初の一文字しか変換できず
文字列を文字コードにすることができなくなってる
フォーマット書式を拡張して、例えばこんなふうにしていれば
文字列を全体を変換するとかできただろうに。今からでも遅くはないが
printf '%@x' "$unk"
ところでこの シングルクォート を頭につけるって
仕様どこのバカが考えたんだろうな?
このせいで最初の一文字しか変換できず
文字列を文字コードにすることができなくなってる
フォーマット書式を拡張して、例えばこんなふうにしていれば
文字列を全体を変換するとかできただろうに。今からでも遅くはないが
printf '%@x' "$unk"
786デフォルトの名無しさん
2020/08/10(月) 18:49:27.63ID:BcFTAJq0 ちゃんとテストしてないけど、文字列全部をコードポイントにする方法
while [ "$str" ]; do
printf '%x ' "'$str"
str=${str#?} # 頭一文字を削除
done
多分動くと思うけどprintfを文字の数だけ実行しないといけないのがダサい(遅い)
bashだったら、頭から文字を削らなくても ${str:N:1} でできるはず
どちらにしろprintfの実行回数は減らせないが
ここから絵文字のみをコードポイントにするには
コードポイントの判定が必要になるので・・・
codepoint=$(printf '%x' "'$str")
これはサブシェル使ってるから更に遅くなる(ため息)
パイプ使って処理するのがまだましかねぇ
while [ "$str" ]; do
printf '%x\n' "'$str"
str=${str#?} # 頭一文字を削除
done | while IFS= read -r codepoint; do
# そのまま出力するか、実体参照で出力するか判定して切り分ける
done
めんどくせーなw
while [ "$str" ]; do
printf '%x ' "'$str"
str=${str#?} # 頭一文字を削除
done
多分動くと思うけどprintfを文字の数だけ実行しないといけないのがダサい(遅い)
bashだったら、頭から文字を削らなくても ${str:N:1} でできるはず
どちらにしろprintfの実行回数は減らせないが
ここから絵文字のみをコードポイントにするには
コードポイントの判定が必要になるので・・・
codepoint=$(printf '%x' "'$str")
これはサブシェル使ってるから更に遅くなる(ため息)
パイプ使って処理するのがまだましかねぇ
while [ "$str" ]; do
printf '%x\n' "'$str"
str=${str#?} # 頭一文字を削除
done | while IFS= read -r codepoint; do
# そのまま出力するか、実体参照で出力するか判定して切り分ける
done
めんどくせーなw
787デフォルトの名無しさん
2020/08/10(月) 19:09:20.89ID:t4rZM551 だったらPerlを使えば。
788デフォルトの名無しさん
2020/08/10(月) 19:10:29.77ID:BcFTAJq0 >>787
そのネタは飽きた
そのネタは飽きた
789デフォルトの名無しさん
2020/08/10(月) 20:01:35.10ID:jBTjAApo いつものRubyおじさんは盆休みか
790デフォルトの名無しさん
2020/08/10(月) 21:47:25.96ID:H4x6U7o8 そういう場合はバラすコマンドを書くんだよ
printfなんて引数が書式から溢れたら繰り返すという独特の仕様なんだし
printfなんて引数が書式から溢れたら繰り返すという独特の仕様なんだし
791デフォルトの名無しさん
2020/08/10(月) 22:04:46.97ID:wrD0HyDw792デフォルトの名無しさん
2020/08/10(月) 23:58:47.58ID:t4rZM551793デフォルトの名無しさん
2020/08/11(火) 06:27:29.80ID:imudTDmO 👨👨👧👧
794デフォルトの名無しさん
2020/08/11(火) 14:02:41.21ID:oiMKju9F795デフォルトの名無しさん
2020/08/11(火) 15:00:36.80ID:6EF+liXG >>794
シェルつーか、sedやな。w
シェルつーか、sedやな。w
796デフォルトの名無しさん
2020/08/11(火) 17:50:39.44ID:K2Zt4r5r printfもシェルつーかprintfコマンドやな。という言い方もできる
ほとんどはprintfはビルトインコマンドだからシェルの一部と言えるが
なんとmkshではビルトインではないのだ
だからprintfを多用するとmkshでは遅くなる
ほとんどはprintfはビルトインコマンドだからシェルの一部と言えるが
なんとmkshではビルトインではないのだ
だからprintfを多用するとmkshでは遅くなる
797デフォルトの名無しさん
2020/08/11(火) 18:15:17.47ID:lw0B26+i 速度速度言うなら...w
まあ、マジでそう思わないこともない
まあ、マジでそう思わないこともない
798デフォルトの名無しさん
2020/08/11(火) 18:20:09.85ID:K2Zt4r5r 言語(ツール)を選ぶ理由は速度が第一じゃないからね
なにか理由があって言語(ツール)を選ぶ
その上で(極端に)遅くなる場合ってのは
知っておいたほうがいい
無知で極端に遅くしておいて、自分が悪いのに
言語(ツール)のせいにするのは愚か者
なにか理由があって言語(ツール)を選ぶ
その上で(極端に)遅くなる場合ってのは
知っておいたほうがいい
無知で極端に遅くしておいて、自分が悪いのに
言語(ツール)のせいにするのは愚か者
799デフォルトの名無しさん
2020/08/11(火) 22:40:08.94ID:wY/KrlTt 一人で妄想して馬鹿にしてる感じ、誰のことを言っているのだが
800デフォルトの名無しさん
2020/08/11(火) 22:47:03.84ID:ZSHW8utc 誰も聞いてないことをで自己満してる
承認欲求が激しいんだろうな
承認欲求が激しいんだろうな
801デフォルトの名無しさん
2020/08/12(水) 00:31:12.05ID:EZbfglBp 外部コマンドをビルトイン化できるらしいがどんな用途で使うんだ
日頃使ってるechoは速度重視だからシェルに内蔵してるってのは分かるが
日頃使ってるechoは速度重視だからシェルに内蔵してるってのは分かるが
802デフォルトの名無しさん
2020/08/12(水) 01:05:34.01ID:IJKCUlyt803デフォルトの名無しさん
2020/08/12(水) 06:01:38.86ID:IJKCUlyt lessコマンドひでぇw
-? -# -~ -" とかいうオプションがあるw
-? -# -~ -" とかいうオプションがあるw
804デフォルトの名無しさん
2020/08/12(水) 11:54:29.64ID:dh92Tz6A .shファイルの実行はずっと脳死で「sh test.sh」とかでやってたけどそれだとPOSIXの関係で目的通り動いてくれないコマンドもあるのか
ログイン時のデフォルトシェルがbashでもshで叩いてしまうと意味がないと
これからは「bash test.sh」 とかでやるようにするけどshで叩く癖が抜けるまでしばらくかかりそう…
ログイン時のデフォルトシェルがbashでもshで叩いてしまうと意味がないと
これからは「bash test.sh」 とかでやるようにするけどshで叩く癖が抜けるまでしばらくかかりそう…
805デフォルトの名無しさん
2020/08/12(水) 12:35:47.57ID:RMBTHnXK806デフォルトの名無しさん
2020/08/12(水) 13:23:38.06ID:dh92Tz6A807デフォルトの名無しさん
2020/08/12(水) 15:14:39.87ID:obuPMR8V スレチでしたら申し訳ないです
どこで質問したらいいのか分かりませんでした
curlで取得したhtmlソースからページのタイトルを取得したいです
curl "https://ja.wikipedia.org/wiki/" | nkf -w | grep -oP '(?<=<title>)(.+)(?=</title>)'
こんな感じで<title>タグに挟まれた文字列を正規表現で抽出すればできそうなのですが、wiki等の一部サイトではgrepで抽出できません
googleやyahooはできました
文字コードがShift-JISなのが問題だと思いますがnkfで変換してあるのになぜできないのかわかりません
どうすれば抽出できますか?
どこで質問したらいいのか分かりませんでした
curlで取得したhtmlソースからページのタイトルを取得したいです
curl "https://ja.wikipedia.org/wiki/" | nkf -w | grep -oP '(?<=<title>)(.+)(?=</title>)'
こんな感じで<title>タグに挟まれた文字列を正規表現で抽出すればできそうなのですが、wiki等の一部サイトではgrepで抽出できません
googleやyahooはできました
文字コードがShift-JISなのが問題だと思いますがnkfで変換してあるのになぜできないのかわかりません
どうすれば抽出できますか?
808デフォルトの名無しさん
2020/08/12(水) 15:43:49.03ID:bbgn0zyb809デフォルトの名無しさん
2020/08/12(水) 16:10:52.81ID:HozojyCs810デフォルトの名無しさん
2020/08/12(水) 18:12:06.06ID:6RKl90uC ファイル名が「20200812.txt」と、日付が入っているとします。
7日前の古いファイルを削除したいと思い、
oldfile=`date -d "7 day ago" +'%Y%m%d'`
rm -f /home/test/public_html/$oldfile.txt
としたのですが、「20200805.txt」が削除されません。
oldfile=20200805
rm -f /home/test/public_html/$oldfile.txt
というように直接日付を書けば削除されます。
何が原因でしょうか?(パーミッションは問題ないです)
7日前の古いファイルを削除したいと思い、
oldfile=`date -d "7 day ago" +'%Y%m%d'`
rm -f /home/test/public_html/$oldfile.txt
としたのですが、「20200805.txt」が削除されません。
oldfile=20200805
rm -f /home/test/public_html/$oldfile.txt
というように直接日付を書けば削除されます。
何が原因でしょうか?(パーミッションは問題ないです)
811デフォルトの名無しさん
2020/08/12(水) 18:17:55.09ID:hhSLRkul $oldfileの中身確認した時点でわかるだろ・・
812デフォルトの名無しさん
2020/08/12(水) 18:20:34.06ID:6RKl90uC echo `date -d "7 day ago" +'%Y%m%d'`
というコマンドを実行すると、「20200805」となります。
なので、$oldfileに代入されていると思うのですが、
なぜかシェルスクリプトからは実行されない?みたいです。
なので、書き方が悪いと思っているのですが・・・
というコマンドを実行すると、「20200805」となります。
なので、$oldfileに代入されていると思うのですが、
なぜかシェルスクリプトからは実行されない?みたいです。
なので、書き方が悪いと思っているのですが・・・
813デフォルトの名無しさん
2020/08/12(水) 18:27:02.02ID:RMBTHnXK >>810
olddateは正しいとして。
パーミッションは本当に適切か?
そのファイルまでのディレクトリは全部見えるか?
親ディレクトリにwは付いてるか?
ユーザーは違わないか?
もしcronなどから実行してたら、実際のユーザーが違うかも?
olddateは正しいとして。
パーミッションは本当に適切か?
そのファイルまでのディレクトリは全部見えるか?
親ディレクトリにwは付いてるか?
ユーザーは違わないか?
もしcronなどから実行してたら、実際のユーザーが違うかも?
814デフォルトの名無しさん
2020/08/12(水) 18:37:18.23ID:6RKl90uC815デフォルトの名無しさん
2020/08/12(水) 18:57:36.02ID:o8GAAC7N 共に、
echo rm -f /home/test/public_html/$oldfile.txt
や
echo rm -f /home/test/public_html/$oldfile.txt | od
で出して同じか見てみ。違うんだろうとしか思えんけど
echo rm -f /home/test/public_html/$oldfile.txt
や
echo rm -f /home/test/public_html/$oldfile.txt | od
で出して同じか見てみ。違うんだろうとしか思えんけど
816デフォルトの名無しさん
2020/08/12(水) 20:47:24.78ID:RMBTHnXK そもそも、エラーメッセージは出てないんか?
パスがないとかパーミッションがないとか。
パスがないとかパーミッションがないとか。
817デフォルトの名無しさん
2020/08/12(水) 21:57:38.22ID:obuPMR8V818デフォルトの名無しさん
2020/08/13(木) 05:33:16.94ID:b3k2BUbg oldfile=`date -d "7 day ago" +'%Y%m%d'`
echo $oldfile
20200806
# -x は、16進数。big endian で表示する
echo $oldfile | od -x --endian=big
3230 3230 3038 3036 0a00
0a00 が入っている!
echo $oldfile
20200806
# -x は、16進数。big endian で表示する
echo $oldfile | od -x --endian=big
3230 3230 3038 3036 0a00
0a00 が入っている!
819デフォルトの名無しさん
2020/08/13(木) 05:43:37.21ID:b3k2BUbg >>807
Ruby なら、静的なページを、Nokogiri で、スクレイピングできる。
ただし、Ajax を使う動的なページは、sleep するか、Selenium Webdriver を使う
require 'nokogiri'
html = `curl http://www.example.com/`
doc = Nokogiri::HTML( html )
elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain
Ruby なら、静的なページを、Nokogiri で、スクレイピングできる。
ただし、Ajax を使う動的なページは、sleep するか、Selenium Webdriver を使う
require 'nokogiri'
html = `curl http://www.example.com/`
doc = Nokogiri::HTML( html )
elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain
820デフォルトの名無しさん
2020/08/13(木) 05:48:49.75ID:AjBI18lb 0a 付けてるのは echo
-x
16 進 short として出力する。 -t x2 と等価。
short として出力するためにpaddingとしての 00
echo 20200806 | od -x --endian=big
しても同じだろうが
-x
16 進 short として出力する。 -t x2 と等価。
short として出力するためにpaddingとしての 00
echo 20200806 | od -x --endian=big
しても同じだろうが
821デフォルトの名無しさん
2020/08/13(木) 05:54:05.59ID:AjBI18lb822818
2020/08/13(木) 07:27:56.07ID:b3k2BUbg 漏れは、Windows 10, WSL, Ubuntu 18.04 だけど、
which pup
無し
apt-cache show pup
パッケージ pup が見つかりません
oldfile=`date -d "7 day ago" +'%Y%m%d'`
echo $oldfile | od -x --endian=big
3230 3230 3038 3036 0a00
echo $oldfile.txt | od -x --endian=big
3230 3230 3038 3036 2e74 7874 0a00
確かに、0a00 は、echo が付けているだけだった
which pup
無し
apt-cache show pup
パッケージ pup が見つかりません
oldfile=`date -d "7 day ago" +'%Y%m%d'`
echo $oldfile | od -x --endian=big
3230 3230 3038 3036 0a00
echo $oldfile.txt | od -x --endian=big
3230 3230 3038 3036 2e74 7874 0a00
確かに、0a00 は、echo が付けているだけだった
823デフォルトの名無しさん
2020/08/13(木) 08:14:35.56ID:r+Myq/6D > rm -f /home/test/public_html/$oldfile.txt
>
> としたのですが、「20200805.txt」が削除されません。
-f つけなければなにかわかるだろ
>
> としたのですが、「20200805.txt」が削除されません。
-f つけなければなにかわかるだろ
824デフォルトの名無しさん
2020/08/13(木) 10:30:46.90ID:u1yLpjcC >>810
上の方法でもこっちでは成功したから、
なんか全く別の所でひっかかってる気がするんだけど
とりあえず
rm ~/"public_html/$(date -d '7 days ago' +'%Y%m%d')"
こうしてみて。
上の方法でもこっちでは成功したから、
なんか全く別の所でひっかかってる気がするんだけど
とりあえず
rm ~/"public_html/$(date -d '7 days ago' +'%Y%m%d')"
こうしてみて。
825デフォルトの名無しさん
2020/08/13(木) 11:03:45.75ID:HLH3bdVq >>823
エラーがなくなるだけだろ。
エラーがなくなるだけだろ。
826デフォルトの名無しさん
2020/08/13(木) 11:07:31.64ID:i+RlWr/H >>825
そう考えてるなら理解力がない
そう考えてるなら理解力がない
827810
2020/08/13(木) 11:42:16.52ID:1yPigLiW >>810です。みなさん色々ありがとうございます。
原因はわかりませんが、以下のコマンドで削除されました!
oldfile=`date -v-7d +"%Y%m%d"`
rm -f /home/test/public_html/$oldfile.txt
サーバーはFreeBSDなのですが、
サーバー的な問題があったのかもしれません
原因はわかりませんが、以下のコマンドで削除されました!
oldfile=`date -v-7d +"%Y%m%d"`
rm -f /home/test/public_html/$oldfile.txt
サーバーはFreeBSDなのですが、
サーバー的な問題があったのかもしれません
828デフォルトの名無しさん
2020/08/13(木) 12:20:55.98ID:i+RlWr/H ほらみろ-fをなくしたらわかる話だっただろうが
829デフォルトの名無しさん
2020/08/13(木) 16:42:10.47ID:UJyiXERu830デフォルトの名無しさん
2020/08/13(木) 19:04:38.45ID:/leUQEag while ここでbreak使うのはOkなのだろうか?; do
:
done
:
done
831デフォルトの名無しさん
2020/08/15(土) 08:39:14.46ID:Ob8esEzA 継続行の後にコメントってかけないの?
832デフォルトの名無しさん
2020/08/15(土) 13:15:03.53ID:sQULdK+x 書けたとしても書かない方がいいだろうな
可読性が下がるから
可読性が下がるから
833デフォルトの名無しさん
2020/08/15(土) 17:32:34.73ID:ODJGcA2C >>831
書けるんじゃないの?
書けるんじゃないの?
834デフォルトの名無しさん
2020/08/15(土) 19:07:09.82ID:Ob8esEzA え?どうやって?
foo \ # comment
foo # commnet \
どっちも無理なんだけど?
foo \ # comment
foo # commnet \
どっちも無理なんだけど?
835デフォルトの名無しさん
2020/08/15(土) 20:54:12.94ID:ODJGcA2C836デフォルトの名無しさん
2020/08/15(土) 22:14:34.07ID:Ob8esEzA >>835
そんなことは聞いてないよ
そんなことは聞いてないよ
837デフォルトの名無しさん
2020/08/15(土) 22:15:49.30ID:/M/D7F5G printf “―-こんにちわ―-“
みたくprintfにハイフンから始まる文字列を出力させようとするとエラー出るんですけどどうにかならいですかね?
echo使えば解決ですけど
みたくprintfにハイフンから始まる文字列を出力させようとするとエラー出るんですけどどうにかならいですかね?
echo使えば解決ですけど
838デフォルトの名無しさん
2020/08/15(土) 22:17:46.31ID:Ob8esEzA print '%s'
839デフォルトの名無しさん
2020/08/15(土) 22:19:39.71ID:qj/CORtd >>837
printf -- “―-こんにちわ―-“
printf -- “―-こんにちわ―-“
840デフォルトの名無しさん
2020/08/15(土) 22:23:58.73ID:/M/D7F5G841デフォルトの名無しさん
2020/08/15(土) 22:33:10.73ID:ODJGcA2C >>836
じゃあ継続行を勘違いしてるんやろ。
じゃあ継続行を勘違いしてるんやろ。
842デフォルトの名無しさん
2020/08/15(土) 23:01:28.72ID:Ob8esEzA843デフォルトの名無しさん
2020/08/15(土) 23:36:06.37ID:8MGPAd1y 以下のようなヒアドキュメントを使用して、sshコマンドで複数コマンドの出力結果をすべてファイルに出力したい場合、どのようにしたら可能でしょうか?
ssh -t -t ユーザ@IP <<EOC
コマンド1
コマンド2
コマンド3
exit
EOC
ちょっと試す環境が無いのですが、以下のように1行目をリダイレクトすれば可能でしょうか?
ssh -t -t ユーザ@IP <<EOC >>出力ファイル
ssh -t -t ユーザ@IP <<EOC
コマンド1
コマンド2
コマンド3
exit
EOC
ちょっと試す環境が無いのですが、以下のように1行目をリダイレクトすれば可能でしょうか?
ssh -t -t ユーザ@IP <<EOC >>出力ファイル
844デフォルトの名無しさん
2020/08/16(日) 00:19:03.11ID:YKxJCnVG845デフォルトの名無しさん
2020/08/16(日) 00:19:53.88ID:YKxJCnVG >>843
環境がないのになぜ聞く?
環境がないのになぜ聞く?
846デフォルトの名無しさん
2020/08/16(日) 00:35:02.24ID:1j/DClPj なんやねんw
847デフォルトの名無しさん
2020/08/16(日) 02:27:19.62ID:beccON1S >>845
気軽に試せるテスト用の環境がないので作って本番運用してみるしかないのですが、分かれば事前に確認したく
気軽に試せるテスト用の環境がないので作って本番運用してみるしかないのですが、分かれば事前に確認したく
848デフォルトの名無しさん
2020/08/16(日) 02:33:52.97ID:XbVXxig+849デフォルトの名無しさん
2020/08/16(日) 02:34:46.65ID:YKxJCnVG850デフォルトの名無しさん
2020/08/16(日) 02:35:16.56ID:hHqe5wIQ >>847
したく…なんだよw
したく…なんだよw
851デフォルトの名無しさん
2020/08/16(日) 02:35:35.89ID:1G6F2nAS 「どのようにしたら可能でしょうか?」
↓
レス「環境がないのになぜ聞く?」
これだもんなw
↓
レス「環境がないのになぜ聞く?」
これだもんなw
852デフォルトの名無しさん
2020/08/16(日) 02:37:08.19ID:1G6F2nAS853デフォルトの名無しさん
2020/08/16(日) 02:37:51.28ID:YKxJCnVG854デフォルトの名無しさん
2020/08/16(日) 02:38:05.03ID:1G6F2nAS まーた始まった
855デフォルトの名無しさん
2020/08/16(日) 02:40:15.48ID:YKxJCnVG856デフォルトの名無しさん
2020/08/16(日) 02:42:05.20ID:1G6F2nAS857デフォルトの名無しさん
2020/08/16(日) 02:42:18.69ID:hHqe5wIQ >>852
本当にそうだよね、そのリンクで挙げられている会社内で使えよって話
本当にそうだよね、そのリンクで挙げられている会社内で使えよって話
858デフォルトの名無しさん
2020/08/16(日) 02:43:10.98ID:1G6F2nAS わざと、世間でも使われてるって書いてあるのみて、無視してるんだろうなーw
859デフォルトの名無しさん
2020/08/16(日) 02:44:34.09ID:hHqe5wIQ >>858
よく読めw
よく読めw
860デフォルトの名無しさん
2020/08/16(日) 02:45:33.86ID:hHqe5wIQ 散々否定されてるだろwww
861デフォルトの名無しさん
2020/08/16(日) 02:45:49.62ID:1G6F2nAS ベストアンサーより
> ”頂きたく””致したく””お願いしたく”といった表現は、昔からよく使う会社とそうでもない会社があるようです。
> ”頂きたく””致したく””お願いしたく”といった表現は、昔からよく使う会社とそうでもない会社があるようです。
862デフォルトの名無しさん
2020/08/16(日) 02:46:16.68ID:hHqe5wIQ 使っている会社があるけどおかしいよねってソースだろそれ
863デフォルトの名無しさん
2020/08/16(日) 02:46:30.85ID:hHqe5wIQ まあ日立なんだけど
864デフォルトの名無しさん
2020/08/16(日) 02:47:50.55ID:1G6F2nAS865デフォルトの名無しさん
2020/08/16(日) 02:48:39.56ID:hHqe5wIQ >>864
そのおかしい言葉をおかしいと思わずに使っている恥ずかしいやつって見られるだけだから別にいいと思うよ!
そのおかしい言葉をおかしいと思わずに使っている恥ずかしいやつって見られるだけだから別にいいと思うよ!
866デフォルトの名無しさん
2020/08/16(日) 02:49:02.10ID:hHqe5wIQ 頑張って広めてね!応援してるよー
867デフォルトの名無しさん
2020/08/16(日) 02:49:36.40ID:XtZ0e6Es また日立語かよ、きも
868デフォルトの名無しさん
2020/08/16(日) 02:51:41.90ID:1G6F2nAS 広まってるからこうやってググって見つかるのにw
ああ、そうか使われてるって知らないって話だったな
ああ、そうか使われてるって知らないって話だったな
869デフォルトの名無しさん
2020/08/16(日) 02:53:03.05ID:hHqe5wIQ870デフォルトの名無しさん
2020/08/16(日) 02:55:17.21ID:hHqe5wIQ >>868
ググって見つかる言葉なら正解だよね!わざわざググってくれた君の行動に行動に敬意を評したく
ググって見つかる言葉なら正解だよね!わざわざググってくれた君の行動に行動に敬意を評したく
871デフォルトの名無しさん
2020/08/16(日) 02:56:14.55ID:1G6F2nAS 1. 言葉がおかしいと知ってる
2. 言葉がおかしいとレスすればいい
3. それ以前に、正しい言葉を知ってるんだから
脳内で補間して、本当にすべきレスをすればいい
実際に返したレス→「したく…なんだよw」
な?コミュニケーション能力ないだろ?w
2. 言葉がおかしいとレスすればいい
3. それ以前に、正しい言葉を知ってるんだから
脳内で補間して、本当にすべきレスをすればいい
実際に返したレス→「したく…なんだよw」
な?コミュニケーション能力ないだろ?w
872デフォルトの名無しさん
2020/08/16(日) 02:59:10.06ID:hHqe5wIQ873デフォルトの名無しさん
2020/08/16(日) 03:00:17.69ID:hHqe5wIQ >>871
日立語をぜひ広めてもらいたく
日立語をぜひ広めてもらいたく
874デフォルトの名無しさん
2020/08/16(日) 03:01:10.81ID:1G6F2nAS こういうナチュラルに嫌がらせをするやつっているよなw
「すいませーん。ちょっと今いいですかー?」
↓
「え?吸いませんってなに?タバコ?タバコ吸わない宣言でもしてるの?w」
はぁ、疲れつやつだ。こいつ相手だと話が進まない。ってなる。
「すいませーん。ちょっと今いいですかー?」
↓
「え?吸いませんってなに?タバコ?タバコ吸わない宣言でもしてるの?w」
はぁ、疲れつやつだ。こいつ相手だと話が進まない。ってなる。
875デフォルトの名無しさん
2020/08/16(日) 03:03:08.25ID:hHqe5wIQ >>874
まったく比較になっていない例えを持ち出してくるやつっているよねー。こいつ相手だと話が進まない。ってなる。同僚に同情したく。
まったく比較になっていない例えを持ち出してくるやつっているよねー。こいつ相手だと話が進まない。ってなる。同僚に同情したく。
876デフォルトの名無しさん
2020/08/16(日) 03:04:12.32ID:hHqe5wIQ >>874
疲れながら構ってくれてありがとう。感謝したく
疲れながら構ってくれてありがとう。感謝したく
877デフォルトの名無しさん
2020/08/16(日) 03:05:32.81ID:1G6F2nAS 「したく」って言葉がよっぽど気に触ったようだw
878デフォルトの名無しさん
2020/08/16(日) 03:06:01.95ID:1G6F2nAS もう寝るからもう一回言っておくね
まーた始まった
まーた始まった
879デフォルトの名無しさん
2020/08/16(日) 03:07:24.30ID:hHqe5wIQ >>877
全然。面白かったから突っ込んだだけなんだけど、コミュニケーション能力なさすぎwww
全然。面白かったから突っ込んだだけなんだけど、コミュニケーション能力なさすぎwww
880デフォルトの名無しさん
2020/08/16(日) 03:07:50.74ID:hHqe5wIQ >>878
いい夢を見てほしく
いい夢を見てほしく
881デフォルトの名無しさん
2020/08/16(日) 03:08:41.32ID:hHqe5wIQ >>878
まだ構っていただきたく
まだ構っていただきたく
882デフォルトの名無しさん
2020/08/16(日) 03:16:18.90ID:beccON1S883デフォルトの名無しさん
2020/08/16(日) 03:20:00.87ID:C12a8F+A >>877
バカにされてるだけだろ
バカにされてるだけだろ
884デフォルトの名無しさん
2020/08/16(日) 10:13:01.15ID:uQxSrMDH >>882
気にしなくていいよ。いつもの「アレ」だから
気にしなくていいよ。いつもの「アレ」だから
885デフォルトの名無しさん
2020/08/17(月) 00:07:49.21ID:F1v/bIKS POSIXの範囲内で一番高度な正規表現を持ってるのはawkですかね?
それ以外はBREだよね?
それ以外はBREだよね?
886デフォルトの名無しさん
2020/08/17(月) 01:45:19.88ID:KciEC6qM 正規表現の高度の定義よろしく
887デフォルトの名無しさん
2020/08/17(月) 01:57:51.81ID:ndXLOI29 例えば「基本」よりも「拡張」が高度です
拡張正規表現というのは知ってますよね?
拡張正規表現というのは知ってますよね?
888デフォルトの名無しさん
2020/08/17(月) 11:43:39.53ID:RhttSiUn なるべく標準に準拠しつつsudoやsuみたいなコマンドを使いたいんだけど
POSIXだとsudoどころかsuコマンドも用意されてないんだね…
POSIXだとsudoどころかsuコマンドも用意されてないんだね…
889デフォルトの名無しさん
2020/08/17(月) 19:32:26.30ID:vwRwlH/K 変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
Google のガイドだと "${FOO}" を使うようになってるんだけど、一文字変数をこのスタイルで書くとかっこわるく見える (e.g. "${f}")
ttps://google.github.io/styleguide/shellguide.html#s5.6-variable-expansion
Google のガイドだと "${FOO}" を使うようになってるんだけど、一文字変数をこのスタイルで書くとかっこわるく見える (e.g. "${f}")
ttps://google.github.io/styleguide/shellguide.html#s5.6-variable-expansion
890デフォルトの名無しさん
2020/08/17(月) 20:13:56.99ID:sGl1Y5uw $FOOだと問題あるときに${FOO}。${FOO}でないとという場合はそんなないけど
Googleのガイドはごちゃ混ぜがキモいとか${FOO}にすべきとこを間違って$FOOにしてしまってというのを避けるためだけじゃね
仕事や複数共同でとしてなら一定の基準は必要だが、個人でならお好きにでいいんじゃないの
Googleのガイドはごちゃ混ぜがキモいとか${FOO}にすべきとこを間違って$FOOにしてしまってというのを避けるためだけじゃね
仕事や複数共同でとしてなら一定の基準は必要だが、個人でならお好きにでいいんじゃないの
891デフォルトの名無しさん
2020/08/17(月) 20:39:16.41ID:vwRwlH/K >>890
ふむふむ、なるほどなぁ
ふむふむ、なるほどなぁ
892デフォルトの名無しさん
2020/08/17(月) 21:07:36.85ID:MSHB+00t >>889
These are strongly recommended guidelines but not mandatory regulation.
て言ってるじゃん。
適度に無視すれば。w
直後に、必須じゃないからってないがしろにすんな、とも言ってるけど。
{}があったほうが検索しやすかろ、というのはわかる。
それが理由で個人的には、C++関数の引数なしの(void)は絶対書く。
These are strongly recommended guidelines but not mandatory regulation.
て言ってるじゃん。
適度に無視すれば。w
直後に、必須じゃないからってないがしろにすんな、とも言ってるけど。
{}があったほうが検索しやすかろ、というのはわかる。
それが理由で個人的には、C++関数の引数なしの(void)は絶対書く。
893デフォルトの名無しさん
2020/08/18(火) 05:39:56.45ID:vobu/Tqw >>899
読みづらくない場合は $FOO
要ないものは冗長にはしないというルールでやってる
echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
こういう場合は echo "${foo}${bar}${baz}"
echo "$foo $bar $baz" は見づらくないのでそのまま
読みづらくない場合は $FOO
要ないものは冗長にはしないというルールでやってる
echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
こういう場合は echo "${foo}${bar}${baz}"
echo "$foo $bar $baz" は見づらくないのでそのまま
894デフォルトの名無しさん
2020/08/18(火) 05:48:54.34ID:vobu/Tqw コーディング規約全般に当てはまる話だが
理由がないのに書き方を統一すべきという方針は
自分の脳みそで判断したくないというバカがやることだ
困っていないのであれば、統一する必要はない
(念の為に言うとタブやスペースの数は混ざると「困る」ので統一すべき事例だ)
どちらの書き方でも一長一短があるの出れば
どちらかにするのではなく「どちらの書き方でも良い」というルールにすべきだ
理由がないのに書き方を統一すべきという方針は
自分の脳みそで判断したくないというバカがやることだ
困っていないのであれば、統一する必要はない
(念の為に言うとタブやスペースの数は混ざると「困る」ので統一すべき事例だ)
どちらの書き方でも一長一短があるの出れば
どちらかにするのではなく「どちらの書き方でも良い」というルールにすべきだ
895デフォルトの名無しさん
2020/08/18(火) 07:43:54.94ID:nMhUmH9x なんか言ってる。俺がルールだってか
896デフォルトの名無しさん
2020/08/18(火) 07:56:19.91ID:nMhUmH9x >echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
>こういう場合は echo "${foo}${bar}${baz}"
ってしてるんだよな?んなのうぜえし別に見づらくないと echo "$foo$bar$baz" と書くのが居るとしよう、そういうのをお前がメンテナンスするとしてどう思う?
それはそれでそのままか?だったらわざわざスレて開陳してる 連続していると見づらい ってなんなのか?
どこで折り合いをつけるのかという話になるんだよ、複数で共同で作業するのでは
そういうのをすっ飛ばして、自分の脳みそで判断したくないというバカがやることだ というのは単純バカだなと思う
>こういう場合は echo "${foo}${bar}${baz}"
ってしてるんだよな?んなのうぜえし別に見づらくないと echo "$foo$bar$baz" と書くのが居るとしよう、そういうのをお前がメンテナンスするとしてどう思う?
それはそれでそのままか?だったらわざわざスレて開陳してる 連続していると見づらい ってなんなのか?
どこで折り合いをつけるのかという話になるんだよ、複数で共同で作業するのでは
そういうのをすっ飛ばして、自分の脳みそで判断したくないというバカがやることだ というのは単純バカだなと思う
897デフォルトの名無しさん
2020/08/18(火) 09:14:42.12ID:vobu/Tqw898デフォルトの名無しさん
2020/08/18(火) 10:42:15.10ID:51N2sBQ+ 規約がなければ普通に "$foo$bar$baz" って書くしどこも読みにくくない
899デフォルトの名無しさん
2020/08/18(火) 11:30:25.87ID:vobu/Tqw "$S$$S$$$S"
900デフォルトの名無しさん
2020/08/18(火) 14:51:07.00ID:nmnRK/Qq こいつはこういうのを書くんだなw
901デフォルトの名無しさん
2020/08/18(火) 22:16:05.43ID:c1cRfnKe $SINGLE$SHELL$SCRIPT$SYSTEM
とかなら書くでしょ?
とかなら書くでしょ?
902デフォルトの名無しさん
2020/08/18(火) 22:21:06.83ID:hHWiIYSV な,プログラマの好きにさせてると,
譬え個々人が言っていることはそれぞれ正しくても
こんな風にいがみ合いになる。
だからコーディング規約があるんだよ。
譬え個々人が言っていることはそれぞれ正しくても
こんな風にいがみ合いになる。
だからコーディング規約があるんだよ。
903デフォルトの名無しさん
2020/08/18(火) 22:39:29.13ID:c1cRfnKe だからコーディング規約として
Aにする、Bにする。AとBのどちらでもいい
この三番目でもいいって話
"$SINGLE$SHELL$SCRIPT$SYSTEM" のように見にくい場合は
"${SINGLE}${SHELL}${SCRIPT}${SYSTEM}" とすればいいし
"$SINGLE $SHELL $SCRIPT $SYSTEM" のように見にくくない場合は
{}を使う必要はない
変数名・関数名に「わかりやすい名前をつけましょう」というルールであるのと同じで
{}を使う使わないも「わかりやすい方法を選びましょう」でいいんだよ
Aにする、Bにする。AとBのどちらでもいい
この三番目でもいいって話
"$SINGLE$SHELL$SCRIPT$SYSTEM" のように見にくい場合は
"${SINGLE}${SHELL}${SCRIPT}${SYSTEM}" とすればいいし
"$SINGLE $SHELL $SCRIPT $SYSTEM" のように見にくくない場合は
{}を使う必要はない
変数名・関数名に「わかりやすい名前をつけましょう」というルールであるのと同じで
{}を使う使わないも「わかりやすい方法を選びましょう」でいいんだよ
904デフォルトの名無しさん
2020/08/18(火) 23:40:57.77ID:8RKEd5YI 俺のコーディング規約を使えかよww
905デフォルトの名無しさん
2020/08/18(火) 23:58:50.21ID:8RKEd5YI >>902
やはりより良いと自ら考えてのだから個々人のやり方にある意味愛着があるからな
でも他人からは単なる好みにしか見えなかったりでので
言うようにだからコーディング規約があるんだよなあ。一人だけわかってないようだけど
やはりより良いと自ら考えてのだから個々人のやり方にある意味愛着があるからな
でも他人からは単なる好みにしか見えなかったりでので
言うようにだからコーディング規約があるんだよなあ。一人だけわかってないようだけど
906デフォルトの名無しさん
2020/08/19(水) 00:08:51.16ID:hvmm4HMW だから「どちらでもいい」というコーディング規約なんだってばw
907デフォルトの名無しさん
2020/08/19(水) 00:13:38.66ID:sn9Oor5N サンプルを二度も三度も変えてなんてまでしてwなんて、しかも理由が読みづらいなんて自分のやり方が良いと言っているだけ=規約だろうに
908デフォルトの名無しさん
2020/08/19(水) 00:21:17.83ID:hvmm4HMW だから$fooにするか${foo}にするかはどちらでも良いという規約だっていってんだろw
909デフォルトの名無しさん
2020/08/19(水) 00:28:12.27ID:sn9Oor5N 俺の考えた規約が最強と言いたいだけかww
910デフォルトの名無しさん
2020/08/19(水) 00:39:26.64ID:hvmm4HMW 俺が言ってるのは決める必要がないものまで決めるなって話だよ
ルールを作って仕事した気になってるアホ
ルールを作って仕事した気になってるアホ
911デフォルトの名無しさん
2020/08/19(水) 00:43:03.59ID:sn9Oor5N 自分でナニかを決めてるのに、それをなんか知らんが繰り返し正しいと他人に吹聴wしてるのに何を言っているのか
仕事した気になってとか何を言っているのか、全く未だに だからコーディング規約があるんだよ がわかってないな
どう見ても他人にコード見せる見られたことないだろ?お前にはコーディング規約なんて関係ないし、俺の考えた最強のはお前が好きに自分で使ってなさいな
仕事した気になってとか何を言っているのか、全く未だに だからコーディング規約があるんだよ がわかってないな
どう見ても他人にコード見せる見られたことないだろ?お前にはコーディング規約なんて関係ないし、俺の考えた最強のはお前が好きに自分で使ってなさいな
912デフォルトの名無しさん
2020/08/19(水) 00:45:29.62ID:hvmm4HMW913デフォルトの名無しさん
2020/08/19(水) 00:46:30.46ID:hvmm4HMW 縛るって言えば理解できるか?
縛らなくて良いものまで縛るなって話
縛らなくて良いものまで縛るなって話
914デフォルトの名無しさん
2020/08/19(水) 00:47:42.01ID:hvmm4HMW915デフォルトの名無しさん
2020/08/19(水) 00:48:40.46ID:sn9Oor5N なんでそうも自説に必死なのか。他のコーディング規約を馬鹿にしてまで
全く>>902の言うとおりそのまま、いらん紛争を持ち込む張本人そのもの
そんな自説が正しいならGoogleのアレを変えてみろってのww
全く>>902の言うとおりそのまま、いらん紛争を持ち込む張本人そのもの
そんな自説が正しいならGoogleのアレを変えてみろってのww
916デフォルトの名無しさん
2020/08/19(水) 00:50:59.55ID:hvmm4HMW Googleも縛っていないだろ
ちゃんと読めよ
ちゃんと読めよ
917デフォルトの名無しさん
2020/08/19(水) 00:51:18.19ID:sn9Oor5N 明らかに馬鹿にしてるのにしないできないのは、ある意味Googleよりも俺が偉いと言いたいだけの承認欲求が激しいだけのお人とするからなw
結果お待ちしてます
結果お待ちしてます
918デフォルトの名無しさん
2020/08/19(水) 00:52:14.93ID:hvmm4HMW バカにしてないのに、バカにしていることにしたいのはなんでだろうな(笑)
あれかな自分以外は悪じゃないといけないみたいな考え方w
あれかな自分以外は悪じゃないといけないみたいな考え方w
919デフォルトの名無しさん
2020/08/19(水) 00:52:33.40ID:sn9Oor5N だったらなんの規約に噛みついてるのかイミフすぎ
お前の冒頭で何を言ったのか忘れたのか?「コーディング規約全般に当てはまる話だが」だぞ?
自分の言ったことも忘れるいつものか
お前の冒頭で何を言ったのか忘れたのか?「コーディング規約全般に当てはまる話だが」だぞ?
自分の言ったことも忘れるいつものか
920デフォルトの名無しさん
2020/08/19(水) 00:53:16.48ID:hvmm4HMW なんの規約って、どちらでも良いものは縛るなって言ってるだけだが?
Googleだって縛っていない
Googleだって縛っていない
921デフォルトの名無しさん
2020/08/19(水) 00:55:24.48ID:sn9Oor5N >コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
なんか下手くそに逃げたが、Googleのは強制はしてないが無視すんなとも言ってる規約だし、発端のから明らかにGoogleの(も)だろう
やっぱりいつもののか、下手くそな逃げにもううんざりしてきた
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
なんか下手くそに逃げたが、Googleのは強制はしてないが無視すんなとも言ってる規約だし、発端のから明らかにGoogleの(も)だろう
やっぱりいつもののか、下手くそな逃げにもううんざりしてきた
922デフォルトの名無しさん
2020/08/19(水) 00:56:34.75ID:hvmm4HMW > Googleのは強制はしてないが無視すんなとも言ってる規約だし、
だから強制していないで終了だろw
だから強制していないで終了だろw
923デフォルトの名無しさん
2020/08/19(水) 00:59:46.78ID:sn9Oor5N 百万歩譲っても、じゃあ、どの規約かもわからん、スレにも上がってない規約に噛みつき馬鹿にして延々と自説をぶった、他人と会話にちょっと問題があるお人ってことになるぞ?w
だから逃げが下手すぎだって、うんざりするほどに
だから逃げが下手すぎだって、うんざりするほどに
924デフォルトの名無しさん
2020/08/19(水) 01:04:10.81ID:hvmm4HMW 意味不明
最初から縛る必要がないものまで縛るなって言ってるだけ
最初の質問通り
> 変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
どちらのスタイルに縛るか?
俺は縛らない。
そういう話しかしてない
最初から縛る必要がないものまで縛るなって言ってるだけ
最初の質問通り
> 変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
どちらのスタイルに縛るか?
俺は縛らない。
そういう話しかしてない
925デフォルトの名無しさん
2020/08/19(水) 01:07:33.13ID:sn9Oor5N >初から縛る必要がないものまで縛るなって言ってるだけ
誰もそんなこと言ったやつはいない。お前がイミフに急に言い出しただけだな、Googleのでもないなら
それこそ何を言っているのだかなな...うんざり
>>894が無ければな
お前は俺流をただ言ったのではなく、「規約」に噛みついていたのだろうが、Googleのでもないどこか知らん規約にな
本当に自分で何を言ったのかすぐに忘れるやつだな
誰もそんなこと言ったやつはいない。お前がイミフに急に言い出しただけだな、Googleのでもないなら
それこそ何を言っているのだかなな...うんざり
>>894が無ければな
お前は俺流をただ言ったのではなく、「規約」に噛みついていたのだろうが、Googleのでもないどこか知らん規約にな
本当に自分で何を言ったのかすぐに忘れるやつだな
926デフォルトの名無しさん
2020/08/19(水) 01:11:04.94ID:hvmm4HMW > Googleのでもないどこか知らん規約にな
Googleのものでもない「書き方を縛ろうとしている規約」に
苦言しただけだが?
どこかしらん規約の話をしてきたのは誰か?
俺じゃねーよ
Googleのものでもない「書き方を縛ろうとしている規約」に
苦言しただけだが?
どこかしらん規約の話をしてきたのは誰か?
俺じゃねーよ
927デフォルトの名無しさん
2020/08/19(水) 01:17:08.10ID:sn9Oor5N そんな押し付けの規約があると散々言っているのはお前だけ
誰もそんな規約の話なんてお前の前からしてない
ゆうにことかいて俺じゃねーだって。ダメだこりゃ
誰もそんな規約の話なんてお前の前からしてない
ゆうにことかいて俺じゃねーだって。ダメだこりゃ
928デフォルトの名無しさん
2020/08/19(水) 01:23:13.05ID:hvmm4HMW > そんな押し付けの規約があると散々言っているのは
押し付けの規約は駄目っていっただけで
そんな規約があるなんて一言も言ってないが?
お前どこの何を読んで文句言ってるんだよ?
押し付けの規約は駄目っていっただけで
そんな規約があるなんて一言も言ってないが?
お前どこの何を読んで文句言ってるんだよ?
929デフォルトの名無しさん
2020/08/19(水) 01:27:29.25ID:sn9Oor5N じゃあ、 >>923 ってことで納得
逃げが下手すぎ。自分で言ったことを忘れる、会話も成り立たないその場しのぎはもういいよ
結論
個人でするなら勝手にしろ
自分のやり方は最強と思うのは誰しもだが、誰しもが(?)他人のそれを最強とは思わない
コーディング規約には理由がある、それが気に食わなくてもなw 馬鹿にするほどなら変えろ、どこの知らんのは知らんあるのかもないのかも含めてなw
逃げが下手すぎ。自分で言ったことを忘れる、会話も成り立たないその場しのぎはもういいよ
結論
個人でするなら勝手にしろ
自分のやり方は最強と思うのは誰しもだが、誰しもが(?)他人のそれを最強とは思わない
コーディング規約には理由がある、それが気に食わなくてもなw 馬鹿にするほどなら変えろ、どこの知らんのは知らんあるのかもないのかも含めてなw
930デフォルトの名無しさん
2020/08/19(水) 01:35:38.54ID:hvmm4HMW931デフォルトの名無しさん
2020/08/19(水) 01:36:34.69ID:hvmm4HMW 何度、俺が規約に噛み付いてないと言っても
理解できないのはなんでなんだろうねw
理解できないのはなんでなんだろうねw
932デフォルトの名無しさん
2020/08/19(水) 01:39:26.06ID:sn9Oor5N なんの反論にも何にもなってないぞ
お前こそとしか思えない。なんでそこから強制の規約になるんだか。自分からGoogleのはそうじゃないと言っているのにw
もう「このおバカさん」と言うしかないほど呆れた
だからその場しのぎのはもうええっちゅうに。まあわからんのだろうなおバカさんにはw
お前こそとしか思えない。なんでそこから強制の規約になるんだか。自分からGoogleのはそうじゃないと言っているのにw
もう「このおバカさん」と言うしかないほど呆れた
だからその場しのぎのはもうええっちゅうに。まあわからんのだろうなおバカさんにはw
933デフォルトの名無しさん
2020/08/19(水) 01:41:23.22ID:sn9Oor5N934デフォルトの名無しさん
2020/08/19(水) 01:44:00.79ID:hvmm4HMW 俺が最初から言ってる
どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ
については何もレスしないで会話をずらすわけねw
どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ
については何もレスしないで会話をずらすわけねw
935デフォルトの名無しさん
2020/08/19(水) 01:46:31.99ID:vMi8bMi7 またいつものキチガイか
936デフォルトの名無しさん
2020/08/19(水) 01:47:06.38ID:sn9Oor5N >どちらでも良いようなものをどちらかに縛るやつはアホだっていっただけ
>コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
以下も、何度も自ら「規約」とも言ってる
話しが通じないのはわかったよ。通じないというよりその場しのぎのそれで逃げられるwというのは理解できない、多分お前の自説が仮に正しくてもそれが通じるかは難しいだろうw
>コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
以下も、何度も自ら「規約」とも言ってる
話しが通じないのはわかったよ。通じないというよりその場しのぎのそれで逃げられるwというのは理解できない、多分お前の自説が仮に正しくてもそれが通じるかは難しいだろうw
937デフォルトの名無しさん
2020/08/19(水) 01:47:13.35ID:hvmm4HMW new IDが登場したっからもう終りやろw
938デフォルトの名無しさん
2020/08/19(水) 01:48:02.09ID:hvmm4HMW939デフォルトの名無しさん
2020/08/19(水) 01:49:46.39ID:sn9Oor5N940デフォルトの名無しさん
2020/08/19(水) 01:49:49.41ID:YTouGjjr お前らいつも仲がいいな
じゃれ合うのはよそでやってくれ
じゃれ合うのはよそでやってくれ
941デフォルトの名無しさん
2020/08/19(水) 01:53:29.95ID:sn9Oor5N942デフォルトの名無しさん
2020/08/19(水) 08:01:24.25ID:+v1h21jP sedでダブルクォートのまま!を使えないだろうか
"$VAR!d"みたいに変数と否定使いたい
ただこれだとbashの履歴が出るしエスケープしようにも"$VAR\!d"は利かないし
他に利口な方法があったら教えろ下さい
"$VAR!d"みたいに変数と否定使いたい
ただこれだとbashの履歴が出るしエスケープしようにも"$VAR\!d"は利かないし
他に利口な方法があったら教えろ下さい
943デフォルトの名無しさん
2020/08/19(水) 08:37:37.92ID:s10sMgcS シングルクオート内でシングルクオートは使えないのと同じようなもんじゃね
'$VAR'\''s'
($VAR's と出したい)
のように一度外に出れば?
'$VAR'\''s'
($VAR's と出したい)
のように一度外に出れば?
944デフォルトの名無しさん
2020/08/19(水) 12:22:46.96ID:WBHz5jMf >>942
Bashの対話モードで履歴展開を有効にしている
以上どうしようもないと思う。
(いや,もしかしたら方法があんのかも知れないが)
対話モードじゃなくてスクリプトにするか,
履歴展開を一時的にでも無効化する,ていうのが手っ取り早い。
Bashの対話モードで履歴展開を有効にしている
以上どうしようもないと思う。
(いや,もしかしたら方法があんのかも知れないが)
対話モードじゃなくてスクリプトにするか,
履歴展開を一時的にでも無効化する,ていうのが手っ取り早い。
945デフォルトの名無しさん
2020/08/19(水) 17:50:33.33ID:KBW9Mump それが履歴展開になるためには対話モードで行編集が有効で履歴展開が有効で
コマンドラインとして入力し、適切にエスケープもされていない必要がある。
だから、そのどれかを崩せばいい。方法はたくさんある。
個人的には Emacs の shell-mode を使ってる。(行編集が無効になる)
コマンドラインとして入力し、適切にエスケープもされていない必要がある。
だから、そのどれかを崩せばいい。方法はたくさんある。
個人的には Emacs の shell-mode を使ってる。(行編集が無効になる)
946デフォルトの名無しさん
2020/08/21(金) 06:49:19.79ID:RjoBQXpc IFSを変更して効果があるのってreadと$*変数だけだっけ。
たとえばsetの引数の区切りを設定することはできないのかな。
実際,
IFS=: set -- a:bbb:cc:dd
とかやっても
$1にa bbb cc ddという値全部が格納されてしまって
$1 $2 $3 $4でa bbb cc ddをそれぞれ取り出す,みたいなことができない。
たとえばsetの引数の区切りを設定することはできないのかな。
実際,
IFS=: set -- a:bbb:cc:dd
とかやっても
$1にa bbb cc ddという値全部が格納されてしまって
$1 $2 $3 $4でa bbb cc ddをそれぞれ取り出す,みたいなことができない。
947デフォルトの名無しさん
2020/08/21(金) 09:25:14.82ID:cTh5+k8G948デフォルトの名無しさん
2020/08/21(金) 12:12:03.02ID:RjoBQXpc949デフォルトの名無しさん
2020/08/21(金) 13:44:22.82ID:BbNSEcdL950デフォルトの名無しさん
2020/08/21(金) 14:45:53.34ID:w5e9p4kz bash -c "sed .."
でいいのでは。
でいいのでは。
951デフォルトの名無しさん
2020/08/21(金) 15:20:04.98ID:mArnj/tT952デフォルトの名無しさん
2020/10/24(土) 02:23:12.69ID:hkdVUCy1 find 等でバイナリーの実行ファイル(だけ)を探す、ってできますかね?
実行ビットが立っているファイルという条件だと、スクリプトや無駄に実行ビットが立っている
ファイルなども入りますがそういうのは除外で。
実行ビットが立っているファイルという条件だと、スクリプトや無駄に実行ビットが立っている
ファイルなども入りますがそういうのは除外で。
953デフォルトの名無しさん
2020/10/24(土) 04:17:59.50ID:B0bAZBgR fileコマンドで判別
954デフォルトの名無しさん
2020/10/24(土) 09:27:42.04ID:hkdVUCy1955デフォルトの名無しさん
2020/10/26(月) 04:10:47.99ID:zDyo5E1K そうそう。
俺はたまにそれでPerlスクリプト探したりする。
俺はたまにそれでPerlスクリプト探したりする。
956デフォルトの名無しさん
2020/10/26(月) 04:18:19.90ID:lc/L7zsO 検索してみるとわかるんだが
Perlのスクリプトは、いっぱいある。
いっぱーある
Perlのスクリプトは、いっぱいある。
いっぱーある
957デフォルトの名無しさん
2020/10/27(火) 22:35:54.90ID:wfYFUdXE ああ。俺もどんどん作ってるからな。お前も作れ。
958デフォルトの名無しさん
2020/10/28(水) 09:56:31.35ID:YwI8VR+h シェルと言えば攻殻機動隊。
959デフォルトの名無しさん
2020/10/28(水) 10:07:24.29ID:3yQQm3er L'Arc〜en〜石油
960デフォルトの名無しさん
2020/10/31(土) 10:10:25.35ID:fByX2qim シェルじゃなくてシエル、ですか
961デフォルトの名無しさん
2020/11/03(火) 03:20:44.70ID:JyRXzZ9S ランス
962デフォルトの名無しさん
2020/12/07(月) 22:55:46.40ID:tk5+iJIP fishです。
フォルダの中のテキストファイルをファイル名込みで結合して一つのファイルにしたいです。
0000.txt"hogehoge"
0001.txt "fugafuga"
これを
all.txt
"0000.txt hogehoge
0001.txt fugafuga"
としたいです。
for f in [1-9]*.txt; printf “%s “ (basename (f .txt)); cat $f; end > all.txt
このコマンドを試しましたが空のall.txtができるだけでした。
フォルダの中のテキストファイルをファイル名込みで結合して一つのファイルにしたいです。
0000.txt"hogehoge"
0001.txt "fugafuga"
これを
all.txt
"0000.txt hogehoge
0001.txt fugafuga"
としたいです。
for f in [1-9]*.txt; printf “%s “ (basename (f .txt)); cat $f; end > all.txt
このコマンドを試しましたが空のall.txtができるだけでした。
963デフォルトの名無しさん
2020/12/07(月) 23:09:38.88ID:2/Fcr04g >[1-9]*.txt
0000.txtはもちろん0001.txtも該当しない
0000.txtはもちろん0001.txtも該当しない
964デフォルトの名無しさん
2020/12/08(火) 09:58:06.20ID:mRX58OUJ >>963
言われてみればその通りですね
for f in 0(seq -w 100).txt; printf “%s “ (basename(f .txt));cat $f; end > all.txt
に直してみました。連番作成はこれで十分そうです
しかし別の問題が発生しました。
・f.txtのfの部分が相変わらずエラーになっています。文章の頭にファイル名がつきません。
・for f in 0(seq -w 0100).txt; printf “%s” $f ;cat $f; end > all.txtと変更して使ってみたところ、
連番(ファイル名の代わり)が文章の頭につくのはいいのですが
文字化けがひどく特に日本語はまったく読めません。
言われてみればその通りですね
for f in 0(seq -w 100).txt; printf “%s “ (basename(f .txt));cat $f; end > all.txt
に直してみました。連番作成はこれで十分そうです
しかし別の問題が発生しました。
・f.txtのfの部分が相変わらずエラーになっています。文章の頭にファイル名がつきません。
・for f in 0(seq -w 0100).txt; printf “%s” $f ;cat $f; end > all.txtと変更して使ってみたところ、
連番(ファイル名の代わり)が文章の頭につくのはいいのですが
文字化けがひどく特に日本語はまったく読めません。
965デフォルトの名無しさん
2020/12/11(金) 08:49:35.32ID:8Z169BTH 埋め
966デフォルトの名無しさん
2020/12/11(金) 08:49:43.54ID:8Z169BTH うめうめ
967デフォルトの名無しさん
2020/12/11(金) 08:49:51.93ID:8Z169BTH うめよう
968デフォルトの名無しさん
2020/12/11(金) 08:50:00.49ID:8Z169BTH うめます
969デフォルトの名無しさん
2020/12/11(金) 08:50:09.36ID:8Z169BTH 梅
970デフォルトの名無しさん
2020/12/11(金) 08:50:19.49ID:8Z169BTH 梅梅
971デフォルトの名無しさん
2020/12/11(金) 08:50:27.98ID:8Z169BTH 梅ます
972デフォルトの名無しさん
2020/12/11(金) 08:50:37.13ID:8Z169BTH 埋めます
973デフォルトの名無しさん
2020/12/11(金) 08:50:48.39ID:8Z169BTH 梅うめ
974デフォルトの名無しさん
2020/12/11(金) 08:50:56.20ID:8Z169BTH うめめ
975デフォルトの名無しさん
2020/12/11(金) 08:51:05.14ID:8Z169BTH スクリプト梅
976デフォルトの名無しさん
2020/12/11(金) 08:51:18.95ID:8Z169BTH 梅うp
977デフォルトの名無しさん
2020/12/11(金) 08:51:28.08ID:8Z169BTH 埋めよう
978デフォルトの名無しさん
2020/12/11(金) 08:51:36.79ID:8Z169BTH うめ!!
979デフォルトの名無しさん
2020/12/11(金) 08:51:46.39ID:8Z169BTH ううめ
980デフォルトの名無しさん
2020/12/11(金) 08:51:54.99ID:8Z169BTH うっめっ
981デフォルトの名無しさん
2020/12/11(金) 08:52:03.25ID:8Z169BTH うめめ
982デフォルトの名無しさん
2020/12/11(金) 08:52:10.77ID:8Z169BTH うめーうめ
983デフォルトの名無しさん
2020/12/11(金) 08:52:18.73ID:8Z169BTH うめてく
984デフォルトの名無しさん
2020/12/11(金) 08:52:27.43ID:8Z169BTH うめよっ
985デフォルトの名無しさん
2020/12/11(金) 08:52:36.27ID:8Z169BTH 埋めておk
986デフォルトの名無しさん
2020/12/11(金) 08:52:44.87ID:8Z169BTH うめmっs
987デフォルトの名無しさん
2020/12/11(金) 08:52:55.35ID:8Z169BTH うめますね
988デフォルトの名無しさん
2020/12/11(金) 08:53:03.56ID:8Z169BTH うめ!!
989デフォルトの名無しさん
2020/12/11(金) 08:53:11.82ID:8Z169BTH うま
990デフォルトの名無しさん
2020/12/11(金) 08:53:21.41ID:8Z169BTH うめです
991デフォルトの名無しさん
2020/12/11(金) 08:53:28.36ID:8Z169BTH うめっす
992デフォルトの名無しさん
2020/12/11(金) 08:53:36.64ID:8Z169BTH うめ!
993デフォルトの名無しさん
2020/12/11(金) 08:53:45.23ID:8Z169BTH うめるよ
994デフォルトの名無しさん
2020/12/11(金) 08:53:58.71ID:8Z169BTH うまs
995デフォルトの名無しさん
2020/12/11(金) 08:54:06.24ID:8Z169BTH うめ
996デフォルトの名無しさん
2020/12/11(金) 08:54:15.81ID:8Z169BTH うめっっ
997デフォルトの名無しさん
2020/12/11(金) 08:54:24.53ID:8Z169BTH 997
998デフォルトの名無しさん
2020/12/11(金) 08:54:32.81ID:8Z169BTH 998
999デフォルトの名無しさん
2020/12/11(金) 08:54:40.45ID:8Z169BTH 999
1000デフォルトの名無しさん
2020/12/11(金) 08:54:47.06ID:8Z169BTH 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 263日 7時間 42分 17秒
新しいスレッドを立ててください。
life time: 263日 7時間 42分 17秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて★2 [パンナ・コッタ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! [Ailuropoda melanoleuca★]
- 「介護に疲れた」と自ら通報 100歳母を殺害容疑で79歳男を逮捕 [東京都] [少考さん★]
- 「地上波で見たいね」…大谷翔平「出場表明」WBC…ネットフリックス「独占放映」に「モーニングショー」浜田敬子氏が願い [muffin★]
- 立憲・塩村あやか氏 12歳タイ人少女の事件を受け、人身売買を厳罰化する法案を提出へ 「日本人が買って…恥ずかしかったですね」 [少考さん★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、来年3月末まで「当面の措置」外交情勢によって見直しも★2 [1ゲットロボ★]
- トランプ「日中関係はうまくいってる」え、高市さんの味方してくれないの… [931948549]
- 高市早苗、ネトウヨを裏切るwwwwwww「すまん、外国人の不動産規制やっぱ無理だわ」 [246620176]
- ゆで卵5個食って焼き芋2個食ったらどうなるの?
- Vipeer「嫌な出来事だったねえ・・・」←なにが起きてそう
- 【文春砲】国分太一降板の原因は女性スタッフへのわいせつ [579392623]
- 日本人「な、なぜだ?なぜこの件で日本を助けてくれる国が0カ国なんだ?」。日本人ようやく気付く [805596214]
