【Bash】Windows Subsystem for Linux【WSL】3
■ このスレッドは過去ログ倉庫に格納されています
Linux側のシステム・ヘッダでインテリセンスが効くようになったものの、問題発生。
CMakeで指定しているC++17の設定が反映されていない。
__cplusplus < 201103Lに引っかかってしまう。
ビルド時はきちんと設定されているのだが。 環境を作ることが目的になってなければいいけど。
どういうプロジェクトに参画してるんだろう。 今のところ、clとgccの違いはテンプレート仮引数名の衝突だけだな。
C++17を有効にするとだいぶ統一されるようだ。 Excelから出力したCSVのように一行(?)の中に改行が含まれた
データを扱うにはどうしたら良いでしょうか? >>37
セル内改行は\n、カラムの改行は\r\nになってるらしいよ。 もう少し具体的に書きます。
カンマ区切りのCSVデータだと仮定して、
シェルスクリプトの中に関数を一行ごとに呼び出し、
列を引数に対応させたいです。
例えば以下のような内容のファイルがあったとして
a1,a2,a3,a4
b1,b2,b3,b4
c1,c2,c3,c4
syori "a1" "a2" "a3" "a4"
syori "b1" "b2" "b3" "b4"
syori "c1" "c2" "c3" "c4"
という風にsyori関数を呼び出したいのです。
ただし実際には各項目(a1等の部分)にExcelから出力したデータのように
改行やカンマやダブルクォートやシングルクォートや空白が入ることがあるのです >>37
どういうレベルで扱いたいんだ?
プログラム組めるならその言語用CSV用ライブラリ使えば普通に対応できる。 >>40
それで思い出しました。
各項目には \ が入ることもあります。
今回はCSVではありませんが、RFC4180(=ExcelのCSVの仕様)では
改行が\nのようにエスケープされません
https://ja.wikipedia.org/wiki/Comma-Separated_Values
> フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む。
> また、フィールドに含まれるダブルクォートは2つ並べてエスケープする。
>
> "日本 CRLF
> 国","""東京""","127,767,944" CRLF
↑「日本国」の国の前に改行が入っている場合 あ、スレ間違えました。移動します。(おかしいなぁ?) Awkマスターのスレで聞くとわかるんじゃないだろか。
まさにWSLの有効な使い方だろな。 Bashとスレタイに入ってるから、ここに来たのか。 awkじゃ改行コードの検出は無理だろうな。perlとかPythonの領域じゃね UNIX板のスレによると、Linuxのawkは普通のawkより強いらしいぞ。 行単位で処理するawkでフルスペックCSVが処理出来る程強化
されているのかぁ凄いなぁ >>52
LinuxというかGNUのな。GNUはオリジナルに機能拡張している
LinuxのコマンドはほとんどオリジナルのではなくGNUの。Linuxはオリジナルを入れてないからGNU Awkをawkとしている。オリジナルがあるとこではgawk(GNU自体がgawkと称しもする)だな
>>51
getlineを使えばやってやれないこともないだろう April 2018 UpdateしたらWSLの環境が消滅したんだけど
どうしてくれるの なんかストアから新しいディストリビューション入れたら旧いUbuntu環境も立ち上がるようになった
わけがわからないよ 電源入れた後はエラーで起動せず、再起動後にやっと動くという謎の不具合。 DockerみたいにExportしてあとで環境を再構築できる機能が欲しいな。
そうじゃないと安心して使えない。 >>60
ようするに環境構築の話だろ?
ansibleとか使えば? >>60
WSLにこだわるなら、 tarで / のバックアップとってとかじゃダメ?
まか、そういう使いかたならVirtualbox なり VMWareが向いていると思う。 というかだよ。
WSLの設計としては、ソースコードはC:\Users\name 以下に置いて
それを /mnt/c/Users/name から参照する想定でしょ?
シンボリックリンクをつければ ~/ 以下から参照できるし
だからWSLの環境が削除されてもデータは残る >>64
うん。だからシンボリックリンクでHOME以下に
持ってくればいいわけだよ そういうことじゃなくてdrvfs上で作業したくないという話 だからdrvfs上で作業しろよ
パーミッション、タイムスタンプ、保存できるようになっただろ >>66
drvfsで作業したくない理由ってなに、? Ubuntu 16.04 も、自動的に、新しいバージョンに更新されていた 漏れは、~/.bash_aliases に、ドキュメントフォルダーへのalias を定義してる
export LANG=ja_JP.UTF-8
shopt -s expand_aliases
alias mydoc='cd /mnt/c/Users/Owner/Documents' WindowsにLinuxが入った!
今度のWindowsはLinux入り! Linuxは入ってねーよ。
もしLinuxはGPLなんだからWindowsもソース公開しなきゃならない!
とかいうやつが現れたりしても無駄。
なにせLinuxは入ってない
Windowsが独自にLinux互換機能を搭載しただけ
WindowsというOSを作っていながら、
片手間でLinux OS互換にするとはすごいね 入った!
超入った!
Windows + Linuxのお得なWindowsが今度のWindows! あー、まあそれでいいよw
WindowsがLinux相当の機能を含んだのはそのとおりだし
鬼に金棒ってやつだ。
もうわざわざLinuxを使う必要がない Linuxの機械学習系のソフトで、実用的な速度で学習ができれば申し分ないんだが・・・ 機械学習を計算サーバでない場所でやろうというのがおかしい
しかも「実用的な速度」などとのたまう unixもどきのlinuxもどきが使えるようになったとか言って喜んでる欠陥OSユーザーwww
本物のunixであるmacの前にひれ伏すが良い MacもMacで独特のクセがある。
ユーザーランドはGNUなのかBSDなのかどっちつかずで・・・ 本物のWindowsであるWinndowsに敬礼! Microsoft Linuxの時代来たーー!!! Microsoftが作った本物のLinuxキターー!! 中身うぶんつとかすーぜーじゃん
せんとくんもってこいや セント君はレッドハットとの契約上、Microsoft社のカーネルで稼働させられないらしいけど。 >>86
商用パッケージが含まれるRHELならともかく、
CentOSはもともとRHELと無関係のプロジェクトで
レッドハットと何ら契約を結んでないのでそれはありえない
そんなことをしたらGPL違反になる WSL上でCentOSが使いたいなら、こんなものもある
https://github.com/RoliSoft/WSL-Distribution-Switcher
これらに対応しているようだ(多分イメージを用意すればその他も動くのだろう)
debian, ubuntu, fedora, centos, opensuse, mageia,
oraclelinux, alpine, crux, clearlinux >>87
今となってはRedHat様がスポンサーのプロジェクトですがw >>87
セント君はレッドハットと協業契約を結んでいて、そのおかげで訴訟の心配なく使えるようになったのが売りだと思いますが。 セント君を使ってもレッドハットから訴えられることはありません。
だけども、Windows上で動かすことはできません。
まあそんな仕組み。 何を言ってるんだ? CentOSとレッドハットが協業したからって
OSのライセンスがGPLである以上、Windows上で動かすことが
できないなんて追加ライセンスはつけられないんだが?
それにマイクロソフトもレッドハットと協業している。仲いいんやで?w
マイクロソフトとレッドハットがついに結んだ画期的パートナーシップの全貌
https://forbesjapan.com/articles/detail/10256
Microsoft AzureではRHELとCentOSもサポートしている
https://azuremarketplace.microsoft.com/ja-jp/marketplace/apps/category/compute?page=1&subcategories=operating-systems
ほんと、なんですぐバレる嘘をつくんだろう?w >>92
Redhatをコピーして売ることはできません。 レッドハットはオープンソース企業なので、大規模にセント君売ったら、訴訟起こされるだけですよ。 レッドハット傘下で細々とやる分にはお目こぼしいただけるのです。
体験版みたいな感じですね。 >>94
> RedhatはしらんけどCentOSは売れるぞ
CentOSはコピーして売っても良いことを知ってるから
>>93はあえてRedhatだけしかかかなかったんだよ。
つまりCentOSは使ってもいいと
本当は知ってるわけw RedhatよりオープンなWindowsを推薦します! モバイルはGoogle Android/Linux。
デスクトップはMicrosoft WSL/Linux。 Windows/NTカーネル
Ubuntu/NTカーネル
Debian/NTカーネル IBM純正UNIXがあるように、Microsoft純正Linuxがあるのです! Microsoft純正LinuxならRedhatに訴えられません。 WSLはlinuxカーネルを乗っけてるんじゃなくて、linuxのシステムコールをWindowsカーネルで処理してるだけ。
だからhtopコマンドを打ってもシステム全体が見えるだろ?Windowsの開発チームは優秀だし、linuxのAPIは移植可能なぐらいきれいだったってことだ。
だけど、逆は無理だろうな、wineはwindowsがオープンソースじゃないからバイナリ依存してる。
でもJavaなんかのシステムコールはwindowsに直接投げるより、WSLに投げたほうが遥かに早いので、なんだか皮肉だけど。 Microsoft純正WSLな
Linuxじゃなくて、Windows Subsystem for Linux
LinuxのためのWindowsサブシステム
WSLを使うとLinux上で動くディストリ
例えばUbuntuなどが動いてしまう
Ubuntuから見ると、WindowsがまるでLinuxのように見えてしまう
それを実現しているのがWSL >>108
> だからhtopコマンドを打ってもシステム全体が見えるだろ?
そこはよくわからん。
タスクマネージャーからWSL上のプロセスは見えるが、
WSLの中からWSLの外のプロセスは見れないようになってる
でないと、複数のディストリを動かしたりできない >>111
システム全体ってのが悪かった、ハードのシステムが見渡せるでもいい。つまり、メモリが割当いくらとか、CPUのコアがいくつとか、そういうたぐいの仮想化じゃないってこと。 デスクトップ環境はかなりWSLに移行するだろうな。でもサーバ環境ではLinux必要だね。 >>116
ライセンス料金があるからそれはどうしようもない
サーバー環境がLinuxだからこそ、それをWindowsに取り込んだとも言える
もしGPUが使え、Dockerがネイティブに動くようになったら、
Linux上で開発する理由はなくなるだろう >>113
サブシステムに関してデメリットあるの? WSLだけが使えるWindowsが来たら、移行を考えてあげても良いよ。
標準でWindows 10をインストールすると
ごちゃごちゃといっぱいくっついてくるから、
そーゆーの全部入らないWSLだけ使うためのWindowsを期待します。 デメリットはWSLはlinuxカーネルをエミュレートしてる技術で仮想PCのようにハードをエミュレートしてるわけじゃないから
ハードの取扱いをWindowsを通してでしか出来ない。カーネルエミュレートだからアップデートが遅い。100%のソフトに対応できるわけではないってこと。 >>121
それだけ?はるかに上回るメリットがあるよね。 >>122
それは使い方による。debianみたいな古いカーネルでデスクトップ用途してるならWSL様様なんじゃね?
開発でガンガン使いたいならまだちょっときついな。これからに期待。 WSLかChromeOSのLinux機能(独自ハイパーバイザー動かしてるアレ)あればもうPCとしてのmacいらないんじゃね?(暴論
ファッションアイテムとしてのmacは必要かも試練が >>125
VMや実機を使う時間が減ったわ、すごく便利になったことには間違いない。
これからに期待だな。 >>127
それはわかるわ〜。リアル環境は必要やけど、便利になったね。ちなみに僕はWindowsデフォのターミナルが嫌で、cloud9をWSLにインストールして、ブラウザから使ってる。
WSLを意識しないで使えるからおすすめよ。 >>108
>linuxのAPIは移植可能なぐらいきれいだったってことだ。
え?
OS/2の頃からPosixサブシステムはありましたけど
>>117
何のライセンス?? >>129
Windowsのライセンス。
Windowsの通常のエディションはサーバーとして使えない
サーバーとして使う場合はWindows Serverが必要となり、
接続数などに応じたCALライセンスが必要になる
LinuxのようにPCにインストールしたら、誰でもコストかからずに
自由に接続できるわけではない
クラウドで使う場合は、クラウドのサービス提供者が提供している
Windows Serverを使う。その場合はライセンスが含まれているから
CALは必要ないから安くなるが、それでもLinuxを使うよりは高めとなる ■ このスレッドは過去ログ倉庫に格納されています