シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
284デフォルトの名無しさん
2019/04/13(土) 15:21:25.04ID:6byp94bf 「ゾンビになるメカニズム」で検索してみた
管理テーブルにデータが残ってるだけなら
消す方法(もしくは隠す方法)があってもいいと思うんだがねぇ
管理テーブルにデータが残ってるだけなら
消す方法(もしくは隠す方法)があってもいいと思うんだがねぇ
285デフォルトの名無しさん
2019/04/13(土) 16:27:29.48ID:i5T2wQ7z286デフォルトの名無しさん
2019/04/13(土) 16:33:30.75ID:mImzJn5T >>280
>コマンドがINTシグナルで終了した場合、シェルが擬似的にシグナルハンドラ呼んでるっぽいかな(もしくは自らにINTシグナル出してるのかな
違うか。control-cでのINTシグナル送るやつの文献ってどこぞにあるかなあ
>コマンドがINTシグナルで終了した場合、シェルが擬似的にシグナルハンドラ呼んでるっぽいかな(もしくは自らにINTシグナル出してるのかな
違うか。control-cでのINTシグナル送るやつの文献ってどこぞにあるかなあ
287279
2019/04/13(土) 17:05:08.41ID:blG/UTRx Ctrl+C が、子プロセスやパイプラインのジョブグループに、
どのように伝達されていくかとか、難しい
どのように伝達されていくかとか、難しい
288デフォルトの名無しさん
2019/04/13(土) 17:21:22.57ID:6byp94bf いろいろ間違っていた。訂正する。
まずCTRL-Cは関係なさそう。実は正常な動作でも(プログラム実行中に)ゾンビができることがあった。
ゾンビができると今は無限ループ状態になるので気づいたが、ちょっと前まではプログラムの構造上、
ゾンビを放置して正常終了していたと思う。zshではあまりテストしていなかったから気づかなかった。
バックグラウンドプロセスが関係あるかないかはよくわからない。
何回か動かしているがバックグラウンドプロセスを使用しない場合は今の所再現していない。
あとなんかWSLとのからみな気がしてきた。
速度が違うから断定は出来ないがLinuxだと再現しない。
今の所、WSL環境にて、zshで、バックグラウンドプロセスを使用し、
その中でパイプを使った処理を行うと、まれにゾンビプロセスができる。
まずCTRL-Cは関係なさそう。実は正常な動作でも(プログラム実行中に)ゾンビができることがあった。
ゾンビができると今は無限ループ状態になるので気づいたが、ちょっと前まではプログラムの構造上、
ゾンビを放置して正常終了していたと思う。zshではあまりテストしていなかったから気づかなかった。
バックグラウンドプロセスが関係あるかないかはよくわからない。
何回か動かしているがバックグラウンドプロセスを使用しない場合は今の所再現していない。
あとなんかWSLとのからみな気がしてきた。
速度が違うから断定は出来ないがLinuxだと再現しない。
今の所、WSL環境にて、zshで、バックグラウンドプロセスを使用し、
その中でパイプを使った処理を行うと、まれにゾンビプロセスができる。
289デフォルトの名無しさん
2019/04/13(土) 17:27:02.88ID:i5T2wQ7z290デフォルトの名無しさん
2019/04/13(土) 17:36:42.95ID:mImzJn5T291デフォルトの名無しさん
2019/04/13(土) 17:43:50.87ID:6byp94bf 再現コード出来た。このコード、なにか問題有る?
これをWSL+ZSHで実行すると、人目につかず永遠とbcコマンドで1+1を計算し続け、
CTRL-Cで停止するときにbcコマンド含めたプロセスグループ全体をkillする(はず)
これをやるとbcコマンドがゾンビ化する。(Linuxだとしない)
#!/usr/bin/zsh
int() {
echo kill
kill -TERM 0
echo killed
exit 1
}
trap 'int' INT
trap ':' TERM
worker() {
while :; do
echo '1+1' | bc > /dev/null
done
}
for i in $(seq 16); do
worker &
done
echo wait
wait
これをWSL+ZSHで実行すると、人目につかず永遠とbcコマンドで1+1を計算し続け、
CTRL-Cで停止するときにbcコマンド含めたプロセスグループ全体をkillする(はず)
これをやるとbcコマンドがゾンビ化する。(Linuxだとしない)
#!/usr/bin/zsh
int() {
echo kill
kill -TERM 0
echo killed
exit 1
}
trap 'int' INT
trap ':' TERM
worker() {
while :; do
echo '1+1' | bc > /dev/null
done
}
for i in $(seq 16); do
worker &
done
echo wait
wait
292デフォルトの名無しさん
2019/04/13(土) 17:44:42.87ID:6byp94bf やっぱり詳解Unixは買わねばいかんか・・・
293デフォルトの名無しさん
2019/04/13(土) 17:54:41.69ID:6byp94bf dash、bashでは再現しない。kshでも再現した。
いずれもWSLのみ。これもうWSLの問題だろ・・・
きっとWSLのバグをzshとkshが踏んじゃったんだな
いずれもWSLのみ。これもうWSLの問題だろ・・・
きっとWSLのバグをzshとkshが踏んじゃったんだな
294デフォルトの名無しさん
2019/04/13(土) 17:55:48.18ID:6byp94bf これ関連してるのかな?
Why are there many zombie process in windows subsystem for linux(WSL)? How to kill them totally?
https://superuser.com/questions/1419292/why-are-there-many-zombie-process-in-windows-subsystem-for-linuxwsl-how-to-ki
Why are there many zombie process in windows subsystem for linux(WSL)? How to kill them totally?
https://superuser.com/questions/1419292/why-are-there-many-zombie-process-in-windows-subsystem-for-linuxwsl-how-to-ki
295デフォルトの名無しさん
2019/04/13(土) 18:09:57.29ID:6byp94bf 次のWindows 10のリリースで治ってんじゃないですかねー
もういいか
Zombie zsh processes left behind that consume 8 % CPU each
https://github.com/Microsoft/WSL/issues/3940
Killing a defunct zombie leaks the zombie process forever
https://github.com/Microsoft/WSL/issues/3741
https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-18267
Fix issue where zombie process may not be reaped and remain indefinitely.
もういいか
Zombie zsh processes left behind that consume 8 % CPU each
https://github.com/Microsoft/WSL/issues/3940
Killing a defunct zombie leaks the zombie process forever
https://github.com/Microsoft/WSL/issues/3741
https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-18267
Fix issue where zombie process may not be reaped and remain indefinitely.
296デフォルトの名無しさん
2019/04/14(日) 14:12:09.49ID:uU4FE3J6 read -r text <<HERE
printf [%s]\n it's a "s'm'a'l'l 'w"o'r"l'd"
HERE
$text
↓出力
[it's]
[a]
["s'm'a'l'l]
['w"o'r"l'd"]
この仕様、うまくすればなにかに使えそうな気がしている。
文法エラーにもならずevalとはまた違った挙動だ。
とゆうかどういう仕様なんだろう?
printf [%s]\n it's a "s'm'a'l'l 'w"o'r"l'd"
HERE
$text
↓出力
[it's]
[a]
["s'm'a'l'l]
['w"o'r"l'd"]
この仕様、うまくすればなにかに使えそうな気がしている。
文法エラーにもならずevalとはまた違った挙動だ。
とゆうかどういう仕様なんだろう?
297デフォルトの名無しさん
2019/04/14(日) 17:50:16.12ID:21MN1CXY $ cat b.pl
#!/usr/bin/perl -w
print("$_\n") foreach @ARGV;
$ cat c.sh
#!/bin/bash
IFS=+
./b.pl a b c
./b.pl a+b+c
while read -r v ; do $v ; done <<EOF
./b.pl a b c
./b.pl+a+b+c
EOF
$ ./c.sh
a
b
c
a+b+c
./c.sh: 行 6: ./b.pl a b c: そのようなファイルやディレクトリはありません
a
b
c
$ # うん、なかなか面白いね。どうしてこうなるかは man に書いてあるよ。
$ # 簡単に言うと、単語の分割というのは最初に行われるものと
$ # 変数が展開された後に行われるものがあるんだ。
$
#!/usr/bin/perl -w
print("$_\n") foreach @ARGV;
$ cat c.sh
#!/bin/bash
IFS=+
./b.pl a b c
./b.pl a+b+c
while read -r v ; do $v ; done <<EOF
./b.pl a b c
./b.pl+a+b+c
EOF
$ ./c.sh
a
b
c
a+b+c
./c.sh: 行 6: ./b.pl a b c: そのようなファイルやディレクトリはありません
a
b
c
$ # うん、なかなか面白いね。どうしてこうなるかは man に書いてあるよ。
$ # 簡単に言うと、単語の分割というのは最初に行われるものと
$ # 変数が展開された後に行われるものがあるんだ。
$
298デフォルトの名無しさん
2019/04/15(月) 17:41:03.59ID:ZXb+3x2v シェルスクリプト(対話操作含め)が実行される手順って結構複雑な割に他の言語よりずっと単純だから
理論から実践(この場合はシステム処理とか?)への、かなり良い足掛かりになるよね。
理論から実践(この場合はシステム処理とか?)への、かなり良い足掛かりになるよね。
299デフォルトの名無しさん
2019/04/21(日) 01:20:29.51ID:Has+aDs1 http://www.sample/{01..10}.jpg
これが書かれたtxtを読み込んでブレース展開して出力する方法ないです?
$ printf "%s\n" < foo.txt
適当にこうやっても上手く行かなくて
これが書かれたtxtを読み込んでブレース展開して出力する方法ないです?
$ printf "%s\n" < foo.txt
適当にこうやっても上手く行かなくて
300デフォルトの名無しさん
2019/04/21(日) 01:26:56.31ID:S3Y2FMky ないです
301デフォルトの名無しさん
2019/04/21(日) 01:40:13.99ID:0pnJkrzy eval $(echo -n 'echo '; cat foo.txt) とか?
302デフォルトの名無しさん
2019/04/21(日) 02:15:47.05ID:FhppS/ri sh << END
printf "%s\n" $(cat foo.txt)
END
printf "%s\n" $(cat foo.txt)
END
303デフォルトの名無しさん
2019/04/21(日) 02:24:15.12ID:FhppS/ri echo "printf '%s\n' $(cat foo.txt)" | sh
でよかった
でよかった
304デフォルトの名無しさん
2019/04/21(日) 08:49:56.51ID:Hx8930Ug eval 'echo '$(<foo.txt)
305デフォルトの名無しさん
2019/04/21(日) 10:59:40.33ID:Has+aDs1306デフォルトの名無しさん
2019/04/21(日) 12:47:47.19ID:Hx8930Ug ごめん、もうちょっとシンプルに書けた。
eval echo $(<foo.txt)
eval echo $(<foo.txt)
307デフォルトの名無しさん
2019/04/22(月) 02:03:07.74ID:KyfckjPA308デフォルトの名無しさん
2019/04/22(月) 11:54:54.98ID:c8JzoHXu 例えばさ、
bash -n -c 'a=(a b c)'
↑これはbashとして正しい文法だけどさ
sh -n -c 'a=(a b c)'
↑これは文法エラーになるじゃん? 実行していなくても
これみたいに、実行してないのにあるシェルではOKで
別のシェルではNGみたいな文法って他に何かしらない?
bash -n -c 'a=(a b c)'
↑これはbashとして正しい文法だけどさ
sh -n -c 'a=(a b c)'
↑これは文法エラーになるじゃん? 実行していなくても
これみたいに、実行してないのにあるシェルではOKで
別のシェルではNGみたいな文法って他に何かしらない?
309デフォルトの名無しさん
2019/04/22(月) 12:22:26.76ID:KyfckjPA310デフォルトの名無しさん
2019/04/22(月) 15:47:58.78ID:8XF5nS5J eval 'printf "%s\n" '$(cat foo.txt)
これprintfをシングルクォートで囲まないと改行されないのね
http://www.sample/01.jpgnhttp://www.sample/02.jpgnhみたいな結果ばかりでちょっと悩んだ
zsh使ってないけどこれはforの後の二重括弧に空白が必要だとかなんとか
{には空白がいるのにfor((が通るbashの方が不自然なのか
これprintfをシングルクォートで囲まないと改行されないのね
http://www.sample/01.jpgnhttp://www.sample/02.jpgnhみたいな結果ばかりでちょっと悩んだ
zsh使ってないけどこれはforの後の二重括弧に空白が必要だとかなんとか
{には空白がいるのにfor((が通るbashの方が不自然なのか
311デフォルトの名無しさん
2019/04/22(月) 18:28:36.64ID:i3ajZQCG export -p と export の違いってなに?
312デフォルトの名無しさん
2019/04/22(月) 18:36:38.02ID:oyNQbI7u \n の処理をだれがいつやらかすのかってとこかな。printfにやらせたいprintfに \n のまま渡さなくてはという感じ
eval printf "'%s\n'" $(cat foo.txt)
eval printf '%s\\n' $(cat foo.txt)
eval printf "'%s\n'" $(cat foo.txt)
eval printf '%s\\n' $(cat foo.txt)
313デフォルトの名無しさん
2019/04/22(月) 23:58:52.60ID:htDMK2AO そもそもなぜ eval を使うのかというと、コマンドラインの解釈において
ブレース展開がコマンド置換より前だから
コマンド置換してからブレース展開するためには
eval を使って解釈を最初からやり直す必要があるためで
しかしながら printf と "%s\n" にはその必要がないのだから、つまり
printf "%s\n" $(eval echo $(<foo.txt))
でいいんじゃないかな。
ブレース展開がコマンド置換より前だから
コマンド置換してからブレース展開するためには
eval を使って解釈を最初からやり直す必要があるためで
しかしながら printf と "%s\n" にはその必要がないのだから、つまり
printf "%s\n" $(eval echo $(<foo.txt))
でいいんじゃないかな。
314デフォルトの名無しさん
2019/04/23(火) 08:44:15.00ID:q7kwqzjj ダブルクリックで実行できるのとできないシェルスクリプトの違いって一体
whileとcaseで簡易メニュー作ってたんだけどダブルクリックしても画面に何も出ない上に
起動されたbashがCPUがかなり食ってた
無論端末から実行はしっかり通る
ls結果を外部保存するような単純な奴はダブルクリックでも正常通りなんだけど
whileとcaseで簡易メニュー作ってたんだけどダブルクリックしても画面に何も出ない上に
起動されたbashがCPUがかなり食ってた
無論端末から実行はしっかり通る
ls結果を外部保存するような単純な奴はダブルクリックでも正常通りなんだけど
315デフォルトの名無しさん
2019/04/23(火) 13:31:54.32ID:zhMneqp1 シェルスクリプト関係ない
316デフォルトの名無しさん
2019/04/23(火) 18:19:48.00ID:/EY0Mv6x317デフォルトの名無しさん
2019/04/23(火) 18:22:18.78ID:/EY0Mv6x >>314
使ってるGUIシステムがX11なら
x-terminal-emulatorなんかを使って仮想端末を立ち上げてからじゃないと
メニューみたいな端末出力を必要とするものは期待した通りに動かないよ。
使ってるGUIシステムがX11なら
x-terminal-emulatorなんかを使って仮想端末を立ち上げてからじゃないと
メニューみたいな端末出力を必要とするものは期待した通りに動かないよ。
318デフォルトの名無しさん
2019/04/23(火) 20:23:01.28ID:zVNwrrWL >>316
そうマニュアルに書いてあるだろう。なんのボケ?w
そうマニュアルに書いてあるだろう。なんのボケ?w
319デフォルトの名無しさん
2019/04/23(火) 21:51:37.02ID:zhMneqp1 模範解答
export -p がどう表示されるかはPOSIXで規定されていますが、
export がどう表示されるかは未定義です。(同じとは限りません)
つまり、exportがどうなるかはシェル毎に異なります。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#export
更にexport -pはbashではPOSIXに反してdeclareで表示されます。
これらは各シェルのマニュアルには書いていません。
export -p がどう表示されるかはPOSIXで規定されていますが、
export がどう表示されるかは未定義です。(同じとは限りません)
つまり、exportがどうなるかはシェル毎に異なります。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#export
更にexport -pはbashではPOSIXに反してdeclareで表示されます。
これらは各シェルのマニュアルには書いていません。
320デフォルトの名無しさん
2019/04/23(火) 22:49:27.06ID:/EY0Mv6x 模 範 解 答
321デフォルトの名無しさん
2019/04/24(水) 08:22:12.86ID:6O+4Q2Ek bashで abc*が展開できると出来ないときがあって
それをテストするのに
[ "abc*" = 'abc*' ]
とやりたいのにできません
どうやったらできますか?
それをテストするのに
[ "abc*" = 'abc*' ]
とやりたいのにできません
どうやったらできますか?
322デフォルトの名無しさん
2019/04/24(水) 17:25:06.62ID:bQUFU5ml >>321
何がどうできないのかよく分からないけどシングルクォートとダブルクォートは
処理が違うから「=」にならないと思うよ
シングルクォート側は文字列なので「abc*」っていう文字列になるけど
ダブルクォート側は解釈されるので「*」にあたるものが存在しないと何もない
状態なので「abc」って文字列になるんじゃないかな
何がどうできないのかよく分からないけどシングルクォートとダブルクォートは
処理が違うから「=」にならないと思うよ
シングルクォート側は文字列なので「abc*」っていう文字列になるけど
ダブルクォート側は解釈されるので「*」にあたるものが存在しないと何もない
状態なので「abc」って文字列になるんじゃないかな
323デフォルトの名無しさん
2019/04/24(水) 17:40:21.19ID:uakSx5ac は?
324デフォルトの名無しさん
2019/04/24(水) 17:42:31.98ID:6O+4Q2Ek abc*が展開できない時はそのままabc*になるのでそう思って書いてみました
325デフォルトの名無しさん
2019/04/24(水) 18:28:22.30ID:6T3A9gnL abc* というファイルが実際にあるというというのは除外でいいのね?
326デフォルトの名無しさん
2019/04/24(水) 18:32:06.10ID:6O+4Q2Ek ええです
327デフォルトの名無しさん
2019/04/24(水) 18:45:29.21ID:6T3A9gnL ダブルクォートで囲んでも囲んじゃうとglob展開は行われない変数などのようには。(>>322見るとデフォでは??展開できるなんかあっったかなあ)
[ "$(echo abc*)" = "abc*" ]
とかかな
any='abc*'; [ "$(echo $any)" = "$any" ]
[ "$(echo abc*)" = "abc*" ]
とかかな
any='abc*'; [ "$(echo $any)" = "$any" ]
328デフォルトの名無しさん
2019/04/24(水) 19:43:12.00ID:uakSx5ac 日本語がダメな奴と日本語がダメな奴が
初心者同士の会話をしてる。
ついていけない。
初心者同士の会話をしてる。
ついていけない。
329デフォルトの名無しさん
2019/04/24(水) 19:56:20.38ID:6O+4Q2Ek >>327
ありがとうございます
echoを使わずできたらお願いします
無理なら諦めます
ありがとうございます
echoを使わずできたらお願いします
無理なら諦めます
330デフォルトの名無しさん
2019/04/24(水) 20:25:30.92ID:6T3A9gnL331デフォルトの名無しさん
2019/04/24(水) 20:29:18.25ID:6T3A9gnL332デフォルトの名無しさん
2019/04/24(水) 21:08:22.56ID:uakSx5ac 何をやりたいのかわからない。
端末にecho *って入力して
あぁ、展開されましたねって
確認すりゃいいだけじゃんか
なんで[ ]とか使うのか
端末にecho *って入力して
あぁ、展開されましたねって
確認すりゃいいだけじゃんか
なんで[ ]とか使うのか
333デフォルトの名無しさん
2019/04/24(水) 21:16:12.73ID:6T3A9gnL >>332
お前が何言っているのかわからない
シェルスクリプトで判断してなにかその後にする部分のことを聞いてきているのだろう。その判断するとこだけを書いているのだろうと読むと思うけど
(日本語どうの言うなら、他人の日本語より自分の日本語を疑った方がいいようなw)
お前が何言っているのかわからない
シェルスクリプトで判断してなにかその後にする部分のことを聞いてきているのだろう。その判断するとこだけを書いているのだろうと読むと思うけど
(日本語どうの言うなら、他人の日本語より自分の日本語を疑った方がいいようなw)
334デフォルトの名無しさん
2019/04/24(水) 21:29:00.43ID:6T3A9gnL >bashで abc*が展開できると出来ないときがあって
abc* としても、該当するものがあってglob展開する場合と、該当するものがなくてglob展開しない(出来ない=globのまま)ときがあって
>それをテストするのに
展開できなかった場合はマズいので(とかなんとで)、それをテストするのに
[ "abc*" = 'abc*' ]
>とやりたいのにできません
としてみましたが、思ったようになりません
だよ。たぶんw
abc* としても、該当するものがあってglob展開する場合と、該当するものがなくてglob展開しない(出来ない=globのまま)ときがあって
>それをテストするのに
展開できなかった場合はマズいので(とかなんとで)、それをテストするのに
[ "abc*" = 'abc*' ]
>とやりたいのにできません
としてみましたが、思ったようになりません
だよ。たぶんw
335デフォルトの名無しさん
2019/04/24(水) 22:15:49.65ID:kFXKi6KY Ruby で該当するファイル数を数えれば?
それが、0 なら、該当なし
p Dir.glob( 'C:/Users/Owner/Documents/*.txt' ).length #=> 0
それが、0 なら、該当なし
p Dir.glob( 'C:/Users/Owner/Documents/*.txt' ).length #=> 0
336デフォルトの名無しさん
2019/04/24(水) 22:19:13.46ID:uakSx5ac337デフォルトの名無しさん
2019/04/24(水) 22:37:08.62ID:6T3A9gnL338デフォルトの名無しさん
2019/04/24(水) 22:39:35.88ID:6T3A9gnL 読めなかったらのをごまかすためにむちゃくちゃ言っているんだな
うん。そゆことにしとこ。でないとアレだなということで
うん。そゆことにしとこ。でないとアレだなということで
339デフォルトの名無しさん
2019/04/24(水) 22:49:53.80ID:uakSx5ac だーかーらー、いつもどおりのやってるやり方で展開して
それをチェックすればいいだけだろと
それをチェックすればいいだけだろと
340デフォルトの名無しさん
2019/04/24(水) 23:04:43.57ID:6T3A9gnL ぜんぜん「だーかーらー」でもなんでもないな。お前の言っていることはわからん
どうも自称初心者じゃない自称日本語ダメじゃない人の自分の脳の世界でなんか言ってるとしか見えない
お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
お前の変な言い分はお前のためでしかなく、他に対する目的も意味もない。マウントとりたいだけのお前には意味があってもな。マウントとりたいから延々続くのか?
どうも自称初心者じゃない自称日本語ダメじゃない人の自分の脳の世界でなんか言ってるとしか見えない
お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
お前の変な言い分はお前のためでしかなく、他に対する目的も意味もない。マウントとりたいだけのお前には意味があってもな。マウントとりたいから延々続くのか?
341デフォルトの名無しさん
2019/04/24(水) 23:06:17.58ID:6T3A9gnL 誤 お前の言う初心者の ID:6T3A9gnL は
正 お前の言う初心者の ID:6O+4Q2Ek は
なんかすまん
正 お前の言う初心者の ID:6O+4Q2Ek は
なんかすまん
342デフォルトの名無しさん
2019/04/24(水) 23:14:58.44ID:uakSx5ac > お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
だからなんなのか知らんが、お前ら、いつもどおりの展開ってecho使ってんのか?
使ってないだろ。いつもどおりの使えばいいだけなのに、
悩んで(?)別の方法模索してるから、意味不明だって言ってるんだよ。
質問者にも回答者にも
だからなんなのか知らんが、お前ら、いつもどおりの展開ってecho使ってんのか?
使ってないだろ。いつもどおりの使えばいいだけなのに、
悩んで(?)別の方法模索してるから、意味不明だって言ってるんだよ。
質問者にも回答者にも
343デフォルトの名無しさん
2019/04/24(水) 23:22:52.75ID:6T3A9gnL344デフォルトの名無しさん
2019/04/24(水) 23:54:51.80ID:uakSx5ac 展開されるかどうかの確認はそれでいいし、
プログラムでならいつもどおりのやり方で展開すればいい
何をやりたいのかわからないのに、どちらの話かわかるわけないだろ
どちらにしろ「は?」なわけだが
プログラムでならいつもどおりのやり方で展開すればいい
何をやりたいのかわからないのに、どちらの話かわかるわけないだろ
どちらにしろ「は?」なわけだが
345デフォルトの名無しさん
2019/04/25(木) 00:00:15.44ID:SQ7d9Ur4 すでにお前に対して「は?」だよ
346デフォルトの名無しさん
2019/04/25(木) 00:02:54.32ID:zUwJ78d6 っていうか、正しいやり方知らんのか?
echo使って検査するんじゃないぞ(それじゃできない)
echo使って検査するんじゃないぞ(それじゃできない)
347デフォルトの名無しさん
2019/04/25(木) 00:05:34.10ID:zUwJ78d6 それじゃできないっていうのはコレな
> abc* というファイルが実際にあるというというのは除外でいいのね?
abc* というファイルが実際にあることも考慮するやり方をするべき
そうすれば正解にたどり着く
> abc* というファイルが実際にあるというというのは除外でいいのね?
abc* というファイルが実際にあることも考慮するやり方をするべき
そうすれば正解にたどり着く
348デフォルトの名無しさん
2019/04/25(木) 00:16:01.39ID:2wE9GZDh ダメな場合もあるのはわかって聞いているんだけど。本人がいいっていったからそれに合わせてだよ
だれかみたいに「すべき」とか強要するつもりも知識自慢したくてたまらないとかもないからな。その最後のといい、なんか偉そうにしたいのね、質問者の意図とか読まずに、知識自慢するためのw質問者の他の情報も引き出そうともせずに
shopt使うとかいう知識自慢だったら笑うぞ。別にabc*という実ファイルがあった場合でものshopt使わずにの方法もあるけどな
だれかみたいに「すべき」とか強要するつもりも知識自慢したくてたまらないとかもないからな。その最後のといい、なんか偉そうにしたいのね、質問者の意図とか読まずに、知識自慢するためのw質問者の他の情報も引き出そうともせずに
shopt使うとかいう知識自慢だったら笑うぞ。別にabc*という実ファイルがあった場合でものshopt使わずにの方法もあるけどな
349デフォルトの名無しさん
2019/04/25(木) 00:21:59.00ID:zUwJ78d6 本当に差があるやつとの会話は疲れるw
> bashで abc*が展開できると出来ないときがあって
展開でするやり方知っってるよな?それ使え
> それをテストするのに
展開できないことのテストはいらん
お前が知ってるはずの、展開するやり方を使って、
-f (もしくは -d や -e 等)で、その名前の
そのファイルが実査に有るかどうかを調べるだけ
shoptとかもしらん
> bashで abc*が展開できると出来ないときがあって
展開でするやり方知っってるよな?それ使え
> それをテストするのに
展開できないことのテストはいらん
お前が知ってるはずの、展開するやり方を使って、
-f (もしくは -d や -e 等)で、その名前の
そのファイルが実査に有るかどうかを調べるだけ
shoptとかもしらん
350デフォルトの名無しさん
2019/04/25(木) 00:22:22.15ID:zUwJ78d6 実査 -> 実際
351デフォルトの名無しさん
2019/04/25(木) 00:34:11.93ID:2wE9GZDh やっぱり、まだわかってないんだな、「展開〜」という質問を
shoptとかもしらん....
-f とか、まさかそんな「当たり前の」こと言い出すとは
まさか「その程度」だとは思わなかったわっ。なんだろこれw
shoptとかもしらん....
-f とか、まさかそんな「当たり前の」こと言い出すとは
まさか「その程度」だとは思わなかったわっ。なんだろこれw
352デフォルトの名無しさん
2019/04/25(木) 01:03:28.37ID:zUwJ78d6 × shoptとかもしらん
○ shoptとかもいらん
なんで当たり前の正解を言ったら
お前悔しがってんの?w
知識自慢したのお前じゃん
そして「は?」の意味わかっただろ。
全く見当違いのことをやろうとして、
全く見当違いの解答をしてるんだよ。
クソガキどもが
○ shoptとかもいらん
なんで当たり前の正解を言ったら
お前悔しがってんの?w
知識自慢したのお前じゃん
そして「は?」の意味わかっただろ。
全く見当違いのことをやろうとして、
全く見当違いの解答をしてるんだよ。
クソガキどもが
353デフォルトの名無しさん
2019/04/25(木) 01:09:13.03ID:2wE9GZDh354デフォルトの名無しさん
2019/04/25(木) 01:11:10.67ID:2wE9GZDh355デフォルトの名無しさん
2019/04/25(木) 01:15:09.23ID:zUwJ78d6 だから何をやりたいのかわかったのは
それ以降のレス読んでからだろうが
意味不明だし、馬鹿がクソな回答しやがるし
ほんと低い
それ以降のレス読んでからだろうが
意味不明だし、馬鹿がクソな回答しやがるし
ほんと低い
356デフォルトの名無しさん
2019/04/25(木) 01:17:21.45ID:2wE9GZDh >だから何をやりたいのかわかったのは
イミフ。おまえもたいがい日本語ダがメだぞ?w いままでのレスの数々でも
やっぱり「俺高いお前低い」とは言いたいのね。なんでそう言いたいのか自分に問いてみような
イミフ。おまえもたいがい日本語ダがメだぞ?w いままでのレスの数々でも
やっぱり「俺高いお前低い」とは言いたいのね。なんでそう言いたいのか自分に問いてみような
357デフォルトの名無しさん
2019/04/25(木) 01:19:37.90ID:2wE9GZDh ああ、「クソガキども」のお言葉いただいたので(なんでそんなこと言いたくなったのか自分に問いてみようなw)、もういいや
358デフォルトの名無しさん
2019/04/25(木) 01:20:59.82ID:zUwJ78d6 > なんでそう言いたいのか自分に問いてみような
邪魔だからだな。頭悪そうな兄ちゃんがきて
頭悪そうな会話をしてる。そんな感じだ。
邪魔だからだな。頭悪そうな兄ちゃんがきて
頭悪そうな会話をしてる。そんな感じだ。
359デフォルトの名無しさん
2019/04/25(木) 01:23:14.93ID:o77IOYp5 そして誰もいなくなった
360デフォルトの名無しさん
2019/04/25(木) 04:25:44.56ID:Q6RVSnnY 質問する側が馬鹿すぎると馬鹿を引き寄せるだけなんだよなあ。
まず、まともな質問をするために man を読もうよ。
まず、まともな質問をするために man を読もうよ。
361デフォルトの名無しさん
2019/04/25(木) 09:00:30.11ID:XBKhyEHe よくわからんが、なんで -f が出てくるんだ?
ファイルの有無が問題じゃないんだろう?
globしたかしないかが問題なんだろう?
ファイルの有無が問題じゃないんだろう?
globしたかしないかが問題なんだろう?
362デフォルトの名無しさん
2019/04/25(木) 10:40:29.00ID:xhj9dxYD ""で囲むと展開されなくて""で囲まないと複数の引数として認識するから出来ないので諦めますね
363デフォルトの名無しさん
2019/04/25(木) 10:43:57.02ID:zUwJ78d6364デフォルトの名無しさん
2019/04/25(木) 12:49:51.00ID:XBKhyEHe >>363
こういう奴がセキュリティホールを作り込むのかね
こういう奴がセキュリティホールを作り込むのかね
365デフォルトの名無しさん
2019/04/25(木) 13:29:45.25ID:wpotMNKo そもそも、ファイル名に、半角英数字、- _ (base64url encoding)以外を使うような、
システムを作る奴が悪い
さらに、Windows では、大文字小文字だけが異なる、ファイル名も作れないし。
例、aB, Ab
システムを作る奴が悪い
さらに、Windows では、大文字小文字だけが異なる、ファイル名も作れないし。
例、aB, Ab
366デフォルトの名無しさん
2019/04/25(木) 14:58:23.69ID:zUwJ78d6367デフォルトの名無しさん
2019/04/25(木) 16:49:38.33ID:hZ9DlonC なぜ自信満々なのか、馬鹿の頭の構造はわからないな。
368デフォルトの名無しさん
2019/04/25(木) 20:07:34.96ID:zUwJ78d6 反論がないから
369デフォルトの名無しさん
2019/04/26(金) 03:55:26.84ID:N1bTr2ZN 馬鹿なレスだな
370デフォルトの名無しさん
2019/04/26(金) 04:25:43.51ID:Y1o8+v/L シェルの歴史に詳しくなれるサイト見つけた
https://www.in-ulm.de/~mascheck/
https://www.in-ulm.de/~mascheck/
371デフォルトの名無しさん
2019/05/03(金) 15:34:52.90ID:m+FxQhlt bashのさ、<() ってさ、sort test.txt みたいなのを sort <(cat test) って書けるから
リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
そうとはかぎらないよな?例えば、同じファイルを二回読み込むとかさ
そういうのってやっぱ一時ファイル作らないと無理だよな?
リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
そうとはかぎらないよな?例えば、同じファイルを二回読み込むとかさ
そういうのってやっぱ一時ファイル作らないと無理だよな?
372デフォルトの名無しさん
2019/05/03(金) 18:08:45.95ID:/bmAVHAq373デフォルトの名無しさん
2019/05/03(金) 21:10:21.19ID:m+FxQhlt >>372
知らんがな。俺に言うなや。
そのツールが、そうなってるんだから
sortコマンドはただの例だからこれ以上追求しなくていい
てか、複数ファイルを入力したり複数ファイルを出力したりすることだって
あるんだから、必ずパイプで解決できるわけじゃない
diffコマンドとかそうだろ
知らんがな。俺に言うなや。
そのツールが、そうなってるんだから
sortコマンドはただの例だからこれ以上追求しなくていい
てか、複数ファイルを入力したり複数ファイルを出力したりすることだって
あるんだから、必ずパイプで解決できるわけじゃない
diffコマンドとかそうだろ
374デフォルトの名無しさん
2019/05/03(金) 21:28:48.60ID:wXl0ssRE 同じ出力のデータを分けて処理することは可能だが、なぜ魔法文にこだわっているのかがわからない。
375デフォルトの名無しさん
2019/05/03(金) 21:31:24.78ID:m+FxQhlt376デフォルトの名無しさん
2019/05/03(金) 21:32:23.63ID:m+FxQhlt まあ結論としては無理ってわかってんだけどさ
bashの拡張を持ってしても
bashの拡張を持ってしても
377デフォルトの名無しさん
2019/05/03(金) 21:35:32.54ID:m+FxQhlt あ、一時ファイル(FIFOファイル含む)作りたくないっていうのが最終的な希望ね。
メモリだけ(tmpfsや類似のメモリベースのファイルシステムやブロックデバイス除く)でやりたい。
無理ってわかってるけど。
メモリだけ(tmpfsや類似のメモリベースのファイルシステムやブロックデバイス除く)でやりたい。
無理ってわかってるけど。
378デフォルトの名無しさん
2019/05/03(金) 23:01:24.06ID:wXl0ssRE ただの無知か。
379デフォルトの名無しさん
2019/05/04(土) 09:14:36.29ID:HnSBFy63380デフォルトの名無しさん
2019/05/04(土) 09:40:10.00ID:eyQzK648 >>379
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
381デフォルトの名無しさん
2019/05/04(土) 09:47:38.10ID:HnSBFy63382デフォルトの名無しさん
2019/05/04(土) 09:57:48.90ID:eyQzK648383デフォルトの名無しさん
2019/05/04(土) 10:01:46.67ID:eyQzK648 明らかに読み間違えてるレスがくると疲れるんで、
一時ファイルを使った場合の例も書いておくは
これは例なんで、この例を修正しろなんてレスは不要
generate-text > /tmp/test.txt
kono-comand "/tmp/test.txt"
この一時ファイル test.txt を作りたくない
なんで?とかいう質問も不要
一時ファイルを使った場合の例も書いておくは
これは例なんで、この例を修正しろなんてレスは不要
generate-text > /tmp/test.txt
kono-comand "/tmp/test.txt"
この一時ファイル test.txt を作りたくない
なんで?とかいう質問も不要
384デフォルトの名無しさん
2019/05/04(土) 10:05:16.07ID:HnSBFy63■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】日本人錯乱「集団的自衛権行使に賛成。けど自衛隊を戦わせるのは反対」 [237216734]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 今来た遊戯王やってる奴スレ
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
