シェルスクリプト総合 その32

■ このスレッドは過去ログ倉庫に格納されています
2019/10/25(金) 00:08:45.53ID:6btPTvif
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
2019/12/24(火) 17:56:12.00ID:O0jTO9nR
WSLのUbuntuにもない。
281デフォルトの名無しさん
垢版 |
2019/12/24(火) 18:31:17.89ID:mQqeuoCV
というか、あったとしてどうやって使うのか?
282デフォルトの名無しさん
垢版 |
2019/12/24(火) 18:35:06.35ID:mQqeuoCV
カレントディレクトリを移動してから何か実行させたいならそのcdコマンドからexecしない限りできんよな?
とするとそのcdコマンドはディレクトリだけでなく実行するコマンドを引数として受け取るのか?
2019/12/24(火) 20:48:55.98ID:uCBqTgFr
>>278 が出ているのに。あまり使い道がない例だけどな
2019/12/24(火) 21:07:13.05ID:uCBqTgFr
https://pubs.opengroup.org/onlinepubs/009695399/utilities/cd.html
APPLICATION USAGE
最初にビルトインに決まってるという説明の後で、ほぼ同じこと書いてあるやん
例が実行できるようにするには必要で、これはできないとは書いてないからあるのが仕様内だろう、たぶん
こんな使い方しねーよで無いんじゃないの、Ubuntu(Debian?)などは
285デフォルトの名無しさん
垢版 |
2019/12/25(水) 17:49:11.61ID:DcKuxkE0
なるほど
2019/12/25(水) 18:50:00.73ID:N+K1pmuB
シェルのバックグラウンドジョブとtrapとシグナルについての理解がしたいです。
手許の環境はBashですが、コマンドライン自体はPOSIXに準じているつもりです。

{ trap -- 'echo trapped; exit' QUIT; echo start; sleep 5& wait $!; echo end; }&
↑このコマンドラインを実行すると
すぐにプロンプトが帰ってきて
start
# 5秒後
end
↑などと出力されます。
一方で
{ trap -- 'echo trapped; exit' QUIT; echo start; sleep 5& wait $!; echo end; }& sleep 1; kill -s QUIT $!
↑このコマンドラインを実行すると
start
# 1秒後
trapped
↑と出力されますが(少なくとも手許では)、
バックグランドジョブに回した直後のsleepを除去すると↓
{ trap -- 'echo trapped; exit' QUIT; echo start; sleep 5& wait $!; echo end; }& kill -s QUIT $!
何も出力されなくなります。
最後のコマンドラインでもsleep 1を挿入した時と同じ挙動(start→#1秒後→trappedと表示)に
させるにはどうすればいいでしょうか。
どうかご教示ください。
2019/12/25(水) 19:25:32.89ID:GfHtMQ6w
シグナルハンドラはデフォルトの動作があらかじめ決まってる
SIGQUITだとコアダンプ吐いて強制終了かな。SIGUSR1/SIGUSR2もなんかあったな
シグナルハンドラを設定しようとするスクリプト(trap)が実行される前にはそのデフォルトのが動いてしまう
シグナルハンドラを設定するスクリプトが実行されるであろうまでsleepで待つか、設定した準備できたと知らせる(親プロセスにシグナル投げるなり)じゃないかな

onhandling=0; trap -- 'onhandling=1' USR1; { trap -- 'echo trapped; exit' QUIT; kill -USR1 $$; echo start; sleep 5& wait $!; echo end; }& while [ $onhandling -eq 0 ]; do sleep 0.1; done; kill -s QUIT $!
とか

シグナル実行抑止遅延とかあったかなあ
2019/12/25(水) 19:36:59.98ID:N+K1pmuB
>>287
ありがとうございます!
無事解決しました。
ところで (すでに問題は解決できたので)単なる興味本位なのですが、
trap -- 'kill -s QUIT $!' USR1; { trap -- 'echo trapped; exit' QUIT; kill -s USR1 $$; echo start; sleep 5& wait $!; echo end;
}&
↑これだと問題ありますか。
素人目線では上手くいくような気がしますが、子プロセスを殺すtrapを親プロセスの前に仕掛けてるあたりが
マズい気がします……。
(ちなみに手許では>>287様が示してくださったものと同様上手くいきました)
2019/12/25(水) 19:39:42.14ID:N+K1pmuB
>>288
これは取消します。
これではいかなる場合でもtrapが実行されちゃいますね。
すいませんでした。
2019/12/25(水) 19:59:14.64ID:GfHtMQ6w
notif=/tmp/$$.fifo; mkfifo $notif; { trap -- 'echo trapped; exit' QUIT; echo read > $notif; echo start; sleep 5& wait $!; echo end; }& read a < $notif; kill -s QUIT $!; rm $notif
通知はFIFO使って、ループが無くなってちょっとスッキリ版
2019/12/25(水) 20:09:25.33ID:v8ePSHs/
>>286
> { trap -- 'echo trapped; exit' QUIT; echo start; sleep 5& wait $!; echo end; }& kill -s QUIT $!
> 何も出力されなくなります。

コアダンプって出力されるよな?
2019/12/25(水) 21:22:56.22ID:rkHGbRnb
一行で書くから見づらいったらありゃしないw
そんなごちゃごちゃやらなくても、これでいいやろ?

#!/bin/sh
sleep 1& SLEEP=$!
{
 trap -- 'echo trapped; exit' QUIT
 kill $SLEEP
 echo start
 sleep 5& wait $!
 echo end
}&
wait $SLEEP
kill -s QUIT $!

一行に戻すでー
sleep 1& SLEEP=$!; { trap -- 'echo trapped; exit' QUIT; kill $SLEEP; echo start; sleep 5& wait $!; echo end; }& wait $SLEEP; kill -s QUIT $!
2019/12/25(水) 22:03:53.28ID:N+K1pmuB
>>291
うーん。すいません。
恐らくシステムか何かがコアダンプを生成しないようになっているようです。
コアダンプはありませんでした。
2019/12/25(水) 22:28:14.59ID:iUDS0c82
ulimit -c unlimited
295デフォルトの名無しさん
垢版 |
2019/12/25(水) 22:29:25.06ID:ixBqsT77
このスレにtrapでソフトタイマを作ったのが載ってるよ。
2019/12/25(水) 22:40:18.77ID:rkHGbRnb
>>295
もうやめたれwww
2019/12/26(木) 00:40:43.87ID:uF/G2OAQ
いちゃもんつけながらでないと自己表現できない自分が確認できない、いつものやつ
2019/12/26(木) 00:57:23.99ID:0kHOyMkL
>>297
わかるように結構工夫して書いてるんだぜw
2019/12/26(木) 00:58:24.91ID:uF/G2OAQ
質問主も応えてるのもわかってるけどな
2019/12/26(木) 00:58:56.93ID:0kHOyMkL
「俺」を否定することはできても
「レス」は否定できないやろ?w
>>292とかシンプルで美しい回答だからな
2019/12/26(木) 01:01:09.61ID:uF/G2OAQ
自己満wキモいわ自分で言うか
すげえな。これ以上何を言っても通じないな
2019/12/26(木) 01:03:25.32ID:0kHOyMkL
そうそう俺を叩いた所で無駄やで。煽り耐性レベルMAXだからな
そんなくだらないことよりレス(シェルスクリプト)の話をしようや
2019/12/26(木) 10:54:33.00ID:zbYMFUyq
>>292はいいな。タイムアウトまで実装できてる
>>287とか>>290だとバグで通知が行われないとフリーズしてしまうが
>>292だと一定期間でタイムアウトになって処理を継続できる
2019/12/26(木) 12:41:29.91ID:MI1/ojN2
>>292だとどうしても1秒間停止してしまわない?
echo trappedを(適切に)実行する準備が整い次第速やかにkill QUITしたいんじゃ
なかったっけ?
>「sleep 1を付けると(シグナルハンドラを設定するスクリプトが起動する猶予が生れて)
start→trappedが出力されるけど、sleep 1を取っ払っても作動するようにしたい」

>>287の実装が一番良いな。
シグナル受け取り側の準備が出来るまで実直に待ってるから余計な待ち時間はほぼ発生しない。
sleep <小数点>はBash拡張ってのが玉に瑕だけどもともとBash前提だから問題ない。
2019/12/26(木) 12:47:29.21ID:zbYMFUyq
>>304
よく読んでみて、停止しないでしょ?
必要最小限しかwaitしない

>>287だと0.1秒待つことになるが
そんなに待たないし、ループで負荷をかけることもない
2019/12/26(木) 12:51:43.96ID:zbYMFUyq
仮にwaitする前にsleepが(一瞬で)killされたとしても
wait ${すでにいないPID} を実行してもエラーにならないんだよね
2019/12/26(木) 13:26:19.54ID:zbYMFUyq
>>287>>292もQUITだとdashで想定どおりに動かないからTERMに変更したけど
timeで測りやすくスクリプトにして実行した結果はこんな感じ

$ time sh 287.sh
start
trapped

real 0m0.103s
user 0m0.001s
sys 0m0.002s


$ time sh 292.sh
start
trapped

real 0m0.002s
user 0m0.002s
sys 0m0.000s


>>287は多くの場合、最初の [ $onhandling -eq 0 ]; を満たさないのでsleep 0.1をすることになる。
なので↓のsleep 1を取っ払いたい要望に対して、sleep 0.1に変えたのと大差なくなってる。
{ trap -- 'echo trapped; exit' QUIT; echo start; sleep 5& wait $!; echo end; }& sleep 1; kill -s QUIT $!
2019/12/26(木) 14:16:08.46ID:MI1/ojN2
>>305
あ、kill $SLEEPを読み飛ばしてたw
すまん。
2019/12/26(木) 15:10:05.95ID:W7puUhWv
自演w連投ぶりからいつもの
2019/12/26(木) 17:04:03.21ID:uIk/XshQ
自称神様の降臨か
2019/12/26(木) 17:46:42.36ID:W7puUhWv
ずっと居ついているだろ
2019/12/26(木) 20:40:26.24ID:VT4/hGaE
ただいま。ってかお前ら何やってんの?w
また俺じゃない人に絡んでるようだが
2019/12/26(木) 20:57:57.00ID:GKWkZChC
わざとらしすぎてわろた
2019/12/26(木) 20:59:56.60ID:VT4/hGaE
違うから違うって言ってるんだけどなw
2019/12/26(木) 21:06:21.96ID:GKWkZChC
はいはい
同じ反応速度、普通のスクリプトでわいわいなレスに対していきなりな同じ態度レスで絡む
同一人物でいいだろ。そんな辺なやつはそう居ないと思うけど
2019/12/26(木) 21:08:13.76ID:VT4/hGaE
意訳 俺以外はみんなあいつ
2019/12/26(木) 21:08:43.19ID:VT4/hGaE
俺の敵はみんなあいつ
の方が良いか
2019/12/26(木) 21:12:56.47ID:GKWkZChC
連投wその連投ぶりのレスの内容といい
特徴的な共通点が多すぎ
2019/12/26(木) 21:35:49.17ID:VT4/hGaE
>>307
俺もやってみたけどQUITじゃたしかにdashで動かないね
確かめたつもりだったけど

> sleep 0.1に変えたのと大差なくなってる。
実際のところ、この例だとsleep 0でも問題なかったりする
sleepという外部プロセスを呼び出す時間があれば、その間にtrapできてるから

と思ってkshでやったら動かんかったわw
kshではsleepはシェルビルトインなんだな
2019/12/27(金) 09:20:57.82ID:NrzsOb0y
横だけどQUITって使うことってある?
OSとかデバッガ系なら使うことあるだろうけど
アプリでは使わないほうが良いんじゃいかな?
2019/12/27(金) 13:14:28.69ID:GMT90LLU
>>320
それはなにか理由ある?
2019/12/27(金) 21:58:46.84ID:jjhZE+Ou
QUITってコアダンプさせるためのものでしょ?
2019/12/28(土) 12:47:18.40ID:/Zzxwqbk
POSIXでは基本的にTERMとほぼ同じだけど
XSI拡張では「なにか他の動作を追加的に行ってもよい」とあるな。
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html
2019/12/28(土) 23:26:23.77ID:lWCFWx/Q
QUITをトラップするとコアダンプ機能が使えなくなるというデメリットがあるね
普通はQUITでコアダンプするわけだから、あれ?コアダンプできない?ってなるかもしれない
コアダンプを明示的に生成する方法あるのかな?
あと、もしかしてdash、ksh、yashだとQUITってtrapできない?
trapしても何も動作しない
2019/12/29(日) 01:40:48.31ID:FmabBrht
dash,kshはQUITでtrapで動いてるけど。yashは試してない
2019/12/29(日) 01:53:56.90ID:MrCxy9bb
#!/bin/sh
trap 'echo trapped; exit' QUIT
echo $$
sleep 60


これを、sh test.sh & ってやって
表示されたプロセスIDに対してkill -q QUIT プロセスIDって
やっても何も表示されないんだけど、どうやって確認した?
2019/12/29(日) 02:02:29.22ID:FmabBrht
sleepというかコマンドが実行が終わるまでtrapで設定したのは動かないよ
2019/12/29(日) 02:10:00.25ID:FmabBrht
なんか言い方が変だな。POSIXでそのような文が書いてあったと思うそのまま書いた
コマンドが実行中はシグナル受け取っても実行されない、コマンドが終わってから実行
for i in $(seq 60); do sleep 1; done
とかで動くでしょ
2019/12/29(日) 02:13:23.19ID:MrCxy9bb
あれ?なんかおかしいね。
じゃあ>>287がbashだとtrappedって表示されて
shでは何も表示されないのはなぜ?

念の為、整形したやつ
#!/bin/sh
onhandling=0
trap -- 'onhandling=1' USR1
{
trap -- 'echo trapped; exit' QUIT
kill -USR1 $$
echo start
sleep 5& wait $!
echo end
}&
while [ $onhandling -eq 0 ]; do
sleep 0.1
done
kill -s QUIT $!
2019/12/29(日) 02:14:47.34ID:MrCxy9bb
>>328
つまりコマンド実行中はtrapしていても無視されて
強制終了してしまうってこと?
2019/12/29(日) 02:17:11.43ID:FmabBrht
無視ではなくて保留だな。受け取っていることは受け取っている
2019/12/29(日) 02:19:29.79ID:MrCxy9bb
保留だとしたらkill -s QUITした時点で終了するのはおかしいはずだが?
2019/12/29(日) 02:25:16.44ID:FmabBrht
>>329
shって?dashでいいの?表示されたけど
強制終了ってなにをいいたいのかわからん
dashはtrap中の標準出力にクセがあるかな?dash起動してコマンドラインでtrapでechoして、他からシグナル送っても出力されないリターンキー叩いたりしたら出る、コマンドラインではね>>329はそうならんけど

>>332
なにを言いたいのかわからん。>>326は解決したんだろ?
強制終了と思い込んで次の展開されても困るぞ
2019/12/29(日) 02:31:00.58ID:MrCxy9bb
>>333
全ては>>329でdashとbashで動作に違いがあるってことだよ
強制終了は強制終了。そのまんま終了してしまうってこと
2019/12/29(日) 02:46:04.76ID:FmabBrht
強制終了自体してなくないんじゃないの
なぜかスクリプトファイルとして実行すると、dash/kshではサブシェルのtrapが動いてないな>>329
シグナル無視なのかなんなのかendまで動き終わる

>>326はそんなんじゃなくて、単なるシンプルな間違いで、違いもなんもないけど
2019/12/29(日) 03:24:42.26ID:QzTL60WW
https://community.progress.com/community_groups/openedge_general/f/26/t/34654
Posted by ske on 8 Aug 2017 13:59
らしいよ。6. とか確かに
コマンドラインでの違いとかはわからんけど
337デフォルトの名無しさん
垢版 |
2019/12/31(火) 07:15:28.46ID:xfr0s5Fj
PowerShell最強説
2019/12/31(火) 08:44:50.09ID:qHnQy48w
諸説あります
2019/12/31(火) 15:40:24.49ID:F82oxaIy
※個人の感想です
2019/12/31(火) 23:33:05.25ID:vVhGTaaB
僕もPowerShell愛用しています。
これを使い始めてから人生茨色です!
2019/12/31(火) 23:43:55.86ID:tLgKzi5A
人生の道が茨で埋め尽くされております!
2019/12/31(火) 23:48:11.73ID:9cUyZ2YF
※ 来世にご期待下さい!
343デフォルトの名無しさん
垢版 |
2020/01/01(水) 08:19:52.80ID:6zSEt3Eo
>>337
使用されることが最強に少ない感
344デフォルトの名無しさん
垢版 |
2020/01/02(木) 13:42:39.95ID:ZoBKtk8g
例えば/usr/local/binに

#!/bin/bash
xdg-open /usr/local/bin/hoge.html

という中身のhogeってファイル入れてコマンドで同階層のhtmlを開きたい場合、
ブラウザを閉じたら

[Parent fuga,Cecko_IOThread]
WARNING:pipe error: Connection reset by peer(piyo):
Connection reset bu peer:
file /build/firefox-esr-tpvy6K/filefox-esr-68.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc. line 358

という表示が出てくるのですがこれを表示させない方法ってありますか?
2020/01/02(木) 13:59:42.22ID:Ifo0PTAe
Bugzilla に登録されてるね。

Gecko_IOThread] WARNING: pipe error: Broken pipe: ... ipc_channel_posix.cc
https://bugzilla.mozilla.org/show_bug.cgi?id=1550919
2020/01/02(木) 14:17:59.62ID:ZoBKtk8g
>>345
つまり標準ブラウザ変えるかchromeとかにすれば良い感じですね。pipe errorとか connection reset の方で検索してました、ありがとうございますm(_ _)m
2020/01/02(木) 18:23:50.86ID:8+JZKzet
>>345
プログラム板の鑑みたいな人だな
凄い
2020/01/10(金) 15:59:20.38ID:pZwemz/Y
GNU sedって一応POSIXに準拠してるけど、色々拡張機能もあるじゃん
こういう拡張機能がほとんど無い、純粋にPOSIX標準に準じたようなsedやらawk、bcなんかの実装ってある?
2020/01/10(金) 16:05:57.94ID:c8NDboJX
GNU sed, GNU awk には --posix オプション、GNU bc には --standard
っていうオプションが用意されている
2020/01/11(土) 08:05:41.49ID:IVNUyUW+
知らんかった。ありがとう
351デフォルトの名無しさん
垢版 |
2020/01/11(土) 21:29:54.53ID:9SPVzhvj
やっぱzshクソ。pathとかstatusが特殊変数なのやめてくれ。
しかも大文字と小文字区別しねーし
path=hogehogeってやったら、環境変数PATHから検索しなくなる。
command not found!
2020/01/11(土) 23:34:38.48ID:NBzz9dXo
単にいままでのに慣れて違いを受け入れないってだけだな
2020/01/11(土) 23:39:31.73ID:NBzz9dXo
なんだ、単に zsh = ksh + tcsh ってのを理解してなくて的外れな文句言っているだけじゃん
アホらしい。文字通り
2020/01/12(日) 08:42:02.61ID:QbL/hexX
なんでそんなに攻撃的なんだよw
355デフォルトの名無しさん
垢版 |
2020/01/12(日) 09:36:05.07ID:FpBV3Lt5
>>1より
> ・csh/tcshでのシェルスクリプトは*まったく推奨しません*

>>353
> なんだ、単に zsh = ksh + tcsh ってのを
kshにまったく推奨しないものを加えたら、クソになるんじゃないですかねぇ(笑)
356デフォルトの名無しさん
垢版 |
2020/01/12(日) 09:39:05.21ID:u1ffAIxu
あと、環境変数の大文字と小文字は区別されてるのに
PATHに関してだけ区別されないのはどう考えてもクソだと思いますよ

pathに代入してもPATHが変わるってどう考えても
存在理由がない機能でしょw
2020/01/12(日) 11:22:16.69ID:QbL/hexX
まるでwindows…
2020/01/12(日) 17:34:52.15ID:J9pO5B5T
そんなに不満があるなら誰かがフォークしてそれがメジャーになってるだろ
俺が正しいって言ってもお前の頭の中ではだな
2020/01/12(日) 18:17:26.10ID:QbL/hexX
せやな。

事実一番メジャーなシェルはBashだしね。
2020/01/12(日) 18:54:12.07ID:J9pO5B5T
読めない自己紹介にしかなってないな
2020/01/12(日) 19:23:15.19ID:J9pO5B5T
>>356
わざわざ後付けで書いてあるのに根本的に何も理解しようとしてないだけだな
大文字小文字を判断してないじゃないよ、
PATHは単なる文字列pathは配列、
pathはcsh特有での、
PATHとpathという別の2つの環境変数
shモードcshモードを切り替えてなんていう実装ではなくちゃんぽんの可能な実装なので、PATH/pathをどちらか変更したら相対する方にも同期するというのだろ。そもそもcshでのpathがそういうものらしいが
内部的に参照しているのはpathの方かな。同期されない特定状態の場合から(どういうときか探してみようw)

今まで使っていたのと違うというだけじゃ話にならない、俺が正しいって言ってもお前の頭の中ではだなでしかないということ(>>355なんてそれが甚だしいけどw)
2020/01/12(日) 21:32:38.39ID:UPYAUoGA
cshがーっていうけど、zshとcshに互換性はまったくないじゃん
真似しなくていいものを真似した結果、貴重な短い変数名が
使えなくなってしまったことに違いはないんだけど
2020/01/12(日) 21:53:04.90ID:J9pO5B5T
作りもしないのに何を文句だけ言っているのだか。そんなに俺が偉いしたいの?
This is a shar file containing zsh, a ksh/tcsh-like shell.
というコンセプトで始めてるんだよ、その成果が認められているのは有名ディストリでもパッケージとしてあるんだから明らかだろう

そんなに俺の考えたのが最強なら作ってみればいいじゃん、フォークしてでも。世界に名を轟かせるいい機会だぞ、こんな匿名で偉そうに評論してんじゃなくw
2020/01/12(日) 22:07:46.46ID:7H3TRCXg
zshのクソ機能をクソ機能と言っただけで
なにファビョってるんだろう?

お前が作ったわけでもないだろうに
バカにされたとでも思ってるのか?
2020/01/12(日) 22:14:00.70ID:J9pO5B5T
クソ機能をクソ機能と言えるほど全然賢くないのが明らかなのに、自覚のないヤツ(ら?)だなあという。自覚がないようだからでしかないんだがな

いや、そのコメでますますアレでしかないなあ。自分は何かをクソと呼ぶが、自分が同じように呼ばれると聞かないって、じゃあ、そもそもどういうつもりでクソと呼んでいるのか?哲学だよww
結局俺偉いだけもしくはただの根拠のない感情だけだから、俺が自分自身と同じだと思ってそんなコメすんだろな?としか思えんけど
2020/01/12(日) 22:26:10.29ID:7H3TRCXg
うわっw なんだろう、これ美味しくないって言ったら
お前は料理できるんか?みたいな反応

ただの評論家だろ、評論家は評論するな!
自分で料理しろ、自分で自分で絵をかけ、自分で歌を歌え
プロよりうまくなかったら、評価する資格なし。みたいな極端な考えw
2020/01/12(日) 22:29:57.49ID:J9pO5B5T
わざわざ不特定多数のとこで美味しくないという個人的感情を書く理由はなんなん
それに対して、そんなことないぞなぜなら〜と返しているのだが。なにか問題があるか?
料理調理の内容がというなら自分で作れというのはいたって当たり前だろう。不満があったら自分で調理するのがOSSだからな

結局俺偉いってだけで反論を許さない、なぜなら俺偉いからというだけかw
2020/01/12(日) 22:36:44.16ID:7H3TRCXg
> わざわざ不特定多数のとこで美味しくないという個人的感情を書く理由はなんなん

レビュー。Googleもやってるで
2020/01/12(日) 22:39:15.15ID:J9pO5B5T
ちょっと意味がわからんが、ああいうとこはやりとりはしないできないだろ
てか、ど素人かよ。スクリプトであってもまがりなりにも何か自分で作っているのに未だど素人かよと思ってしまうな、クレーマーレベルすぎてw
370デフォルトの名無しさん
垢版 |
2020/01/13(月) 05:57:08.53ID:iUioslZh
そんなに気に入らないなら自分で新しいシェル作れば良いのに。
2020/01/13(月) 06:56:27.50ID:00IYKkjv
信者の例

新しいバトルシステムが使いづらい
→ そんなに気に入らないなら自分で新しいゲーム作れば良いのに

「設定」が使いづらい
→ そんなに気に入らないなら自分でOS作れば良いのに
2020/01/13(月) 12:47:53.36ID:cEXtDkBR
ナポレオン「私は卵を産めないが、卵が腐っていると判断できる」

(Zshの利用者が満足するような)シェルを作れる自信はないが、
Zshの一部機能を腐ってるとは言える。

ていうか他の人も指摘してたけど二三の欠点を指摘されただけで
まるで自分の人格を全否定されたかのような反応をするのってどういう感情なんだろう?
2020/01/13(月) 15:10:18.33ID:v+Mp6rDH
psコマンドで見て a.out で実行されているプロセスを全部 kill -9 してくれるスクリプトってどう書いたらいいですか
2020/01/13(月) 15:12:27.51ID:stzsvKPq
教えてあげないよじゃん
2020/01/13(月) 15:35:35.00ID:v+Mp6rDH
約に立たない2chのクズ共が自分で調べた方が早い

ps | grep "./a.out" | grep -v grep | awk '{ print "kill -9", $1}' | sh
2020/01/13(月) 15:47:43.19ID:GhUCXbF0
374は屑だが回答ないと豹変するのもどうかと
2020/01/13(月) 16:00:10.75ID:L1QEfUqR
killall でいいんじゃないかな
2020/01/13(月) 16:03:48.34ID:cEXtDkBR
煽って回答を貰うのはよく見掛ける光景だけど
煽りながら自己解決するのは珍しいなw
2020/01/13(月) 16:56:48.83ID:48BANHU6
zshはbashの強化版だと思ってたら違うのね
bashを覚えるので手一杯なんで他のシェルに浮気する余裕ないけど
2020/01/13(月) 22:41:06.83ID:ybxFvJaC
シェルスクリプトとしてはzshは使わないね。
bashとだいたい互換性があるシェル。
スクリプトとしてはPOSIX準拠にするかbashでしょう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況