前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/09(火) 17:46:48.32ID:G4IJkzod
477デフォルトの名無しさん
2018/12/31(月) 02:48:07.85ID:E3GRK6g9 Ruby の行列を使った方が良さそう
478デフォルトの名無しさん
2018/12/31(月) 06:10:51.81ID:hv1/uFm+ >Ruby の行列を使った方が良さそう
わざわざRuby使うくらいならR使うでしょうに
わざわざRuby使うくらいならR使うでしょうに
479デフォルトの名無しさん
2018/12/31(月) 10:17:55.48ID:4o6gq25f Get-Chlditem の -System オプションて機能してなくね? 5.1と6.1で検証した
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
480デフォルトの名無しさん
2018/12/31(月) 10:51:50.10ID:4o6gq25f 使えないのでこんな風にしてる
gci -force |?{$_.Mode -match 's'}
gci -force |?{$_.Mode -match 's'}
481デフォルトの名無しさん
2018/12/31(月) 13:52:03.55ID:i7poOdM+482デフォルトの名無しさん
2018/12/31(月) 20:02:41.24ID:4o6gq25f -force ないと機能しないのか…
483デフォルトの名無しさん
2019/01/01(火) 03:34:35.89ID:ssh3fXac Ruby の行列では、
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
484デフォルトの名無しさん
2019/01/01(火) 09:29:48.04ID:HeFEoGOE485デフォルトの名無しさん
2019/01/01(火) 10:43:40.32ID:ISJZg14N Rならこんな感じになるのかな?
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
486デフォルトの名無しさん
2019/01/01(火) 16:03:09.00ID:T6MHXAKy SAS/IMLだと
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
487デフォルトの名無しさん
2019/01/01(火) 16:25:47.24ID:BBGreIch 行列系数値計算ならJuliaも使いやすい
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
488デフォルトの名無しさん
2019/01/01(火) 16:57:52.05ID:UIhiNbM3 はっきりしているのは、どれもめちゃ遅い
489デフォルトの名無しさん
2019/01/01(火) 16:59:31.69ID:UIhiNbM3 アルゴリズムを考えたり検証したりには
便利という仕組みですね。
これはこれで価値がある。
便利という仕組みですね。
これはこれで価値がある。
490デフォルトの名無しさん
2019/01/02(水) 00:00:30.28ID:uM4gOpCa いろんな言語で書いてくれてるけど
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
491デフォルトの名無しさん
2019/01/02(水) 07:11:32.67ID:JfU1VO50 元のソースは何らかのルールに沿ってたものなのでしょうか
492デフォルトの名無しさん
2019/01/02(水) 15:30:48.31ID:meZPNJeK rubyガイジのフリにまんまと乗ったアホ共が悪い
493デフォルトの名無しさん
2019/01/02(水) 16:52:22.21ID:sVSsgdXZ まあ、乗ったというより
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
494デフォルトの名無しさん
2019/01/02(水) 16:57:28.69ID:PMrmWLAE 一般人の正月:和歌を読んで批評し合う
逸般人の正月:コードを書いて批評し合う
逸般人の正月:コードを書いて批評し合う
495デフォルトの名無しさん
2019/01/02(水) 17:56:16.48ID:Q1TcDhg4 誤)コードを書いて批評し合う
正)コードを書いてマウントごっこ
正)コードを書いてマウントごっこ
496デフォルトの名無しさん
2019/01/03(木) 09:21:05.05ID:e4doPVb1 コードも書かずにマウントごっこするよりはマシかな
497デフォルトの名無しさん
2019/01/03(木) 14:18:46.18ID:EIDJLiBS 出力内容に日本語(2バイト文字)が含まれているとテーブル表示の際にカラムがズレる、ってのは回避方法がないのかな。
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
498デフォルトの名無しさん
2019/01/03(木) 19:10:30.43ID:9E4VKJOH あきらめてOut-GridViewを使うとか
499デフォルトの名無しさん
2019/01/08(火) 18:45:23.42ID:EC3N2/DB パワーシェルってカテゴリ的にはスクリプト・プログラム言語?それともWindowsのソフトウェア?
500デフォルトの名無しさん
2019/01/08(火) 19:49:18.08ID:GRXV3JJ2 どちらも
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
501デフォルトの名無しさん
2019/01/08(火) 20:23:14.66ID:twi+nGjw なるほど
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
502デフォルトの名無しさん
2019/01/08(火) 20:34:38.44ID:GRXV3JJ2 全部ずれてる
503デフォルトの名無しさん
2019/01/08(火) 20:45:30.53ID:Ri9uFdMr bashとシェルスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
504デフォルトの名無しさん
2019/01/08(火) 21:11:05.43ID:Ri9uFdMr つかシェルとシェルスクリプト
PowershellとPowershellスクリプト
が一番わかり易かったな
PowershellとPowershellスクリプト
が一番わかり易かったな
505デフォルトの名無しさん
2019/01/08(火) 22:08:03.20ID:twi+nGjw むずかしい!w
506デフォルトの名無しさん
2019/01/09(水) 02:01:23.48ID:9kxsD7dR 別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
507デフォルトの名無しさん
2019/01/09(水) 14:51:11.50ID:teNQqIfe PowerShellができるようになると何がいい?
508デフォルトの名無しさん
2019/01/09(水) 17:40:53.83ID:iwuLoYXa >>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
509デフォルトの名無しさん
2019/01/09(水) 19:51:08.47ID:nNa8IYsJ510デフォルトの名無しさん
2019/01/09(水) 21:58:57.96ID:LPlKYmug それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
511デフォルトの名無しさん
2019/01/09(水) 22:13:34.50ID:WxZlp6Z9 >>507
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
512デフォルトの名無しさん
2019/01/09(水) 22:16:39.66ID:WxZlp6Z9 間違えた
return文でした・・・
return文でした・・・
513デフォルトの名無しさん
2019/01/09(水) 22:17:35.75ID:nNa8IYsJ すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった
514デフォルトの名無しさん
2019/01/09(水) 22:19:11.83ID:nNa8IYsJ 関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど
515デフォルトの名無しさん
2019/01/10(木) 00:11:38.57ID:jhx89QXs 関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
516デフォルトの名無しさん
2019/01/10(木) 00:25:40.33ID:mktY/a5R dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・
517デフォルトの名無しさん
2019/01/10(木) 00:28:19.57ID:FheW454d >>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
518デフォルトの名無しさん
2019/01/10(木) 00:33:03.30ID:jxmC/C32 >>516
誤字がひどい
誤字がひどい
519デフォルトの名無しさん
2019/01/10(木) 04:58:55.23ID:Pqz/qBav520デフォルトの名無しさん
2019/01/10(木) 05:25:45.52ID:nf36oLbM >>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
521デフォルトの名無しさん
2019/01/10(木) 05:57:47.50ID:Pqz/qBav >>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
522デフォルトの名無しさん
2019/01/10(木) 06:03:49.10ID:nf36oLbM MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
523デフォルトの名無しさん
2019/01/10(木) 07:54:48.12ID:e7V8oUZV パワーシェルとrubyは似てる言語なの?
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
524デフォルトの名無しさん
2019/01/10(木) 12:28:31.19ID:8HdqxYaB >>517
ruby を NG してる
ruby を NG してる
525デフォルトの名無しさん
2019/01/10(木) 17:29:11.64ID:jhx89QXs そりゃ、Ruby がベスト。
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
526デフォルトの名無しさん
2019/01/10(木) 17:49:28.58ID:3kN+h5hG インテリセンスしょぼすぎ
527デフォルトの名無しさん
2019/01/10(木) 18:07:50.47ID:vGEkHdSz >>524
俺もそうする
俺もそうする
528デフォルトの名無しさん
2019/01/10(木) 18:08:40.70ID:ct6DIWcV529デフォルトの名無しさん
2019/01/10(木) 18:11:49.88ID:SOl/xRps どんどんrubyの評判を下げてるのがわからんのかねぇ
530525
2019/01/10(木) 18:45:39.00ID:jhx89QXs 漏れは、PowerShell で数行書くなら、Ruby で作ってしまう
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
531デフォルトの名無しさん
2019/01/10(木) 18:48:24.32ID:ntFiGaUH なるほどrubyじゃ何もできないってことだね
532デフォルトの名無しさん
2019/01/10(木) 19:03:20.25ID:3kN+h5hG IronRubyってどうなったの?
533デフォルトの名無しさん
2019/01/10(木) 20:51:10.85ID:UUY7OixD (かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?
534デフォルトの名無しさん
2019/01/14(月) 13:22:32.56ID:i1odpryK powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
535デフォルトの名無しさん
2019/01/14(月) 16:32:26.56ID:mUB6pFvH >>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
536デフォルトの名無しさん
2019/01/14(月) 17:38:40.92ID:i1odpryK537デフォルトの名無しさん
2019/01/15(火) 07:41:15.21ID:PNg+c5Yb 文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
538デフォルトの名無しさん
2019/01/16(水) 08:35:02.57ID:8/OmqdoX v6.1.2 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
539デフォルトの名無しさん
2019/01/16(水) 18:21:31.35ID:Y6YhZRdL >>538
あんがとさん
あんがとさん
540デフォルトの名無しさん
2019/01/31(木) 21:35:30.95ID:AeQOSKqu &{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
541デフォルトの名無しさん
2019/01/31(木) 21:44:25.79ID:AeQOSKqu Whileの継続判定を
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
542デフォルトの名無しさん
2019/01/31(木) 22:18:49.56ID:xJsSt9Re Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
543デフォルトの名無しさん
2019/01/31(木) 22:20:50.85ID:wdHuOMr6 >>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
544デフォルトの名無しさん
2019/01/31(木) 22:33:49.84ID:nQoHUWUF powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
546542
2019/01/31(木) 23:44:01.11ID:xJsSt9Re Windows では知らないけど、
Linux なら、systemd で、サービスを起動できる
Linux なら、systemd で、サービスを起動できる
547デフォルトの名無しさん
2019/01/31(木) 23:44:18.82ID:AeQOSKqu548デフォルトの名無しさん
2019/01/31(木) 23:57:01.76ID:eCrLlhCC >Windows では知らないけど、
このひとなんなん
こわい
このひとなんなん
こわい
549デフォルトの名無しさん
2019/02/01(金) 07:42:04.59ID:92aZjlm0550デフォルトの名無しさん
2019/02/01(金) 09:45:34.37ID:CxyFcB/M551デフォルトの名無しさん
2019/02/01(金) 10:57:54.88ID:Df7lr2kE >>547
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
552デフォルトの名無しさん
2019/02/02(土) 21:37:38.54ID:GDLTgOlM もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
553デフォルトの名無しさん
2019/02/03(日) 05:19:27.02ID:U6zkwiYj554デフォルトの名無しさん
2019/02/03(日) 10:45:58.13ID:p2YNM7CO PS > [bool]""
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
555デフォルトの名無しさん
2019/02/03(日) 11:34:45.18ID:gZVRTEN5 psのnullはnullじゃないってどこかで記事見たな
556デフォルトの名無しさん
2019/02/03(日) 12:12:22.77ID:p2YNM7CO PS > [string]$s -eq $null
False
PS > $s -eq $null
True
False
PS > $s -eq $null
True
557デフォルトの名無しさん
2019/02/03(日) 12:17:47.78ID:sBfvPdNi 型変換が定義されてるっぽいね
558デフォルトの名無しさん
2019/02/03(日) 12:58:35.28ID:jpAIKS8U $nullの型が何なのか調べればわかること
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
559デフォルトの名無しさん
2019/02/03(日) 13:06:40.62ID:KnacfqZI560デフォルトの名無しさん
2019/02/03(日) 13:52:06.12ID:fFxNo4TL >>559
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
561デフォルトの名無しさん
2019/02/03(日) 14:28:24.77ID:gZVRTEN5 うーむ・・・
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
562デフォルトの名無しさん
2019/02/03(日) 14:38:16.60ID:KnacfqZI563デフォルトの名無しさん
2019/02/03(日) 14:53:04.55ID:KnacfqZI 可能であれば [string]$s=$null
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
564デフォルトの名無しさん
2019/02/03(日) 14:53:36.20ID:KnacfqZI 何でフォントが変わったんだろ?
565デフォルトの名無しさん
2019/02/03(日) 17:18:00.01ID:gLy6KBGU stringやintはC#と同じくnull許容型ではないということだな
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
566デフォルトの名無しさん
2019/02/03(日) 17:37:25.59ID:KnacfqZI567デフォルトの名無しさん
2019/02/03(日) 17:47:48.25ID:KnacfqZI >>565
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
568デフォルトの名無しさん
2019/02/03(日) 18:06:20.48ID:gLy6KBGU ああすまん、[Nullable[string]] はダメだったか
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
569デフォルトの名無しさん
2019/02/03(日) 20:22:36.62ID:wQ2AkwMN >>566
C#8.0
C#8.0
570デフォルトの名無しさん
2019/02/14(木) 06:50:42.41ID:EWDxMe0z 今まであまり気にしてなかったけどPesterってめちゃくちゃ便利なんじゃねえか
他言語で書いたプログラムの結合テストがスゴく書きやすい
他言語で書いたプログラムの結合テストがスゴく書きやすい
571デフォルトの名無しさん
2019/02/14(木) 09:06:58.55ID:k6/DH+7Z >>570
いいもの教えてもらった。ありがとう。
いいもの教えてもらった。ありがとう。
572デフォルトの名無しさん
2019/02/14(木) 22:51:37.48ID:8Eclc9m3 powershellの標準出力やエラー出力を、自分で作成したフォームのTextBoxにリダイレクトできないでしょうか?
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
573デフォルトの名無しさん
2019/02/14(木) 23:42:44.14ID:CDGUBW/T >>572
Powershellから.Net Frameworkを利用できることは解ってる?
Powershellから.Net Frameworkを利用できることは解ってる?
574デフォルトの名無しさん
2019/02/15(金) 20:32:06.22ID:VV8Lu8eJ575デフォルトの名無しさん
2019/02/15(金) 22:37:05.29ID:JVFXEcJ1 >>573
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
576デフォルトの名無しさん
2019/02/15(金) 23:35:43.92ID:BkaZ3+61 Ruby で、1-liner のフィルタ。
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- ヤフコメ「中国への輸出がなくなる事で、日本国内で美味しくいただける事に感謝します」👈やたら政権寄りなのはなぜ?(´・ω・`) [399259198]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- ファブルに出てくる貝沼君ってのがお前らにそっくりなんだよ
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- paypayで支払いするの便利すぎワロッタwwwwwwwwwwwwwww
