探検


OS XをUnixとして使ってる人の為のスレ 18 [無断転載禁止]©2ch.net

2016/05/06(金) 04:16:59.70ID:Kkeqv6zz0
OS X を Unix として使ってる人の為のスレです。

■関連スレ
Fink 使ってるの洩れだけなのかっ!?【rev.2】
http://potato.2ch.net/test/read.cgi/mac/1166780804/
MacPorts でワクワク UNIX ライフ Part 3
http://potato.2ch.net/test/read.cgi/mac/1315401888/
Homebrew でゾクゾク UNIX ライフ2
http://potato.2ch.net/test/read.cgi/mac/1309843497/
AppleScript アップルスクリプト 質問、発表 6
http://potato.2ch.net/test/read.cgi/mac/1387630245/
【中の人】Automator【小人】3人目
http://potato.2ch.net/test/read.cgi/mac/1416219152/
【タマニハ】MacにLinux入れようよ!その4【チガウノ】
http://potato.2ch.net/test/read.cgi/mac/1277458655/
Mac de Emacs総合スレ v7
http://potato.2ch.net/test/read.cgi/mac/1328699139/
Mac Vim 再び
http://potato.2ch.net/test/read.cgi/mac/1133534694/
Macでプログラミング{11}
http://potato.2ch.net/test/read.cgi/mac/1414566499/

■前スレ
Mac OS XをUnixとして使ってる人の為のスレ 17
http://potato.2ch.net/test/read.cgi/mac/1383436068/
2023/05/19(金) 04:12:55.09ID:jJ4F32kJ0
>>752
>sshを使う
特に違いはないだろう

>UNIXとしてのコマンドについて学ぶ
どこかがわからん。どこまで固有のオプションを使うとかね

詳解 シェルスクリプト
はどうかなあ。Amazonで試し読みしようとしたが、全然判断材料にできるとこ試し読みできないやんけw 目次はLinux標準教科書と似てる
2023/05/19(金) 08:32:39.27ID:Qbe5Yi1G0
>>753
>>754
ありがとう、紹介いただいた本立ち読みしてみます
2023/05/19(金) 18:46:53.83ID:2J8KZa740
西村めぐみ著 macOS×コマンド入門
って、割と最近の2020年の本だし悪くないかも
2023/06/08(木) 10:24:50.98ID:dSJOyUat0
自分だけかな、Xcodeをアップデートしたら? bcコマンドのプロンプトが ">>> "になった
地味に違和感
2023/06/08(木) 10:48:11.99ID:okxMRstR0
ググったらFreeBSDのこういう話が https://qiita.com/s_mitu/items/d8676c5ecdca0045b4de

macOS 12までGNU bc https://github.com/apple-oss-distributions/bc/blob/bc-21/bc.plist
macOS 13からGavin D. Howard bc https://github.com/apple-oss-distributions/bc/blob/bc-26/bc.plist
みたいな感じ
2023/06/08(木) 11:16:50.40ID:okxMRstR0
消せそう
-P, --no-prompt
BC_ENV_ARGS

man bcしてちょ
2023/06/08(木) 11:40:25.67ID:dSJOyUat0
>>758 >>759
どうも素早いお答えをありがとうございます。もしかしてVenturaにしてから初bcだったか
しかしそんなオプションまで用意するということは自分のようなユーザーからの反応を
予期していたということかw

ところで、man bcしたら、manの文章が80桁以上になってターミナル内で折り返されてしまう
これも地味にうざい。manも特殊なのかな?
2023/06/08(木) 11:43:26.01ID:dSJOyUat0
これとは別にmanに関して気づいたんですが、
単にmanと打つと画面にmanのソースのようなゴミが表示される
2023/06/08(木) 12:01:05.74ID:dSJOyUat0
しかし新しいbc、数学関数が増えたりしてるんですね
以前は確か、例えば対数は自然対数しかなくて、「違う底で計算するのは変換式を
使えば無問題だろ」的な圧を勝手に感じたものですが
763名称未設定
垢版 |
2023/06/15(木) 19:36:24.59ID:ayQnYAlR0
これはなんだろ?

/System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld
2023/06/15(木) 22:42:02.73ID:Maalo3ZM0
AppStoreからインストールしたアプリはアンインストールができるから
それ用のとかじゃないのかな?
2023/06/16(金) 00:29:41.82ID:tRvsfxa80
当然というかinstalldもあるけど場所とかが対称的ではないね

しかしmacOSはなんちゃらdがどんどん増えている気がする。今Venturaの上でpsで
ざっくりカウントしたら270プロセスとか?
766名称未設定
垢版 |
2023/06/16(金) 06:30:50.61ID:+c2PmbAB0
https://w.atwiki.jp/iosdeamons/pages/14.html
こういうのmacosバージョン無いかな
767名称未設定
垢版 |
2023/09/16(土) 05:07:05.71ID:xlwLRutm0
最近のMacってxzってデフォルトで入ってる?
2023/09/16(土) 14:54:06.47ID:s9XA3S1X0
入ってない
brew install xz
でインスコ汁
2023/09/16(土) 20:51:49.40ID:4H2gT7GP0
tarとかはxzに対応してるし、xz(LZMA)のライブラリもある
がxz関連のコマンドは見当たらんね。なんでだろ
2023/09/16(土) 21:14:42.14ID:xlwLRutm0
>>768
有難うございます

>>769
gnu tarだとしたらxzにパイプしてると思いますので
どこかにxzあると思いますよ?
2023/09/16(土) 21:28:57.14ID:uv7x7+tp0
gnuではない
libarchive
2023/09/16(土) 22:31:14.81ID:xlwLRutm0
ああそっか
OSXのユーザランドはBSD由来だったね
2023/09/17(日) 16:55:39.30ID:js2a+hPw0
リモートのLinuxから使いたいのですが
X11アプリは他のUNIXと変わらんかったと思うのですが
それ以外のアプリ使うには
VNCを使うのでしょうか?
ポピュラーな方法を教えて下さい
2023/09/17(日) 18:15:45.87ID:kL+5IqhO0
システム設定の画面共有をONにすればもうVNCでつなげる状態だよ
2023/09/17(日) 20:16:01.33ID:JqqDcHhw0
>>774
おお! 素晴らしい
いたれりつくせりですな
776名称未設定
垢版 |
2023/09/17(日) 22:18:16.45ID:JqqDcHhw0
Macってシェルスクリプトをダブルクリックで起動できる?
ターミナル開いてタイプしないとダメかな?
2023/09/18(月) 01:10:41.39ID:vW0k8qoe0
.shを作る要領で.commandファイルを作る
2023/09/18(月) 01:43:42.40ID:I1upfSxS0
>>777
すみません.shとは何ですか?
シェルスクリプトをダブルクリックで起動するためには
拡張子を.commandにする必要があるという意味でしょうか?

ついでに質問ですが
仮にダブルクリックでシェルスクリプトを起動できたとして
pwdはどこになりますか?
2023/09/18(月) 02:43:32.69ID:TH8UtMi00
ググれks
2023/09/18(月) 03:38:21.91ID:Zv+WY9zC0
試せば一発だろ
2023/09/18(月) 03:55:59.93ID:I1upfSxS0
実機は購入検討中でないんです!
2023/09/18(月) 05:29:56.69ID:A7A6fhok0
>すみません.shとは何ですか?
「Unixとして使ってる人」のスレなんだから .sh でピンとこなきゃな
「Linuxから使い」らしくわかってはいるようだけど。そゆこと
ただし、実行属性は必要だろう
Terminalで新規にウィンドウ開いて実行スクリプトファイルタイプして実行するのと動作は同じ。なのでpwdはわかったであろうwそこ(.zshrcとかで cd ~/hogehoge とか起動時のディレクトリを変えててたらそこ。そんなことしないけど)

拡張子は .command でなくても、単に実行属性付けて Terminalのドキュメント にしても(ほぼ)動作は同じ
エディタによっては保存すると自分のドキュメントに戻したりして鬱陶しいので、 .command が無難だけど
2023/09/18(月) 05:39:38.40ID:A7A6fhok0
>Macってシェルスクリプトをダブルクリックで起動できる?
まあ、元々Terminal上で起動実行できればいいような質問なんだろけど、
そういえば、Unixとしては別にTerminalは必要ないわなあ。Finder、GUIからのでってことで生/直接には実行できないようにしてるだけか
アプリケーションバンドル形式に仕込んだりすればば生/直接実行できるようにはなるだろけど
2023/09/18(月) 12:26:44.05ID:I1upfSxS0
>>782
レスを有難うございます

>>すみません.shとは何ですか?
>「Unixとして使ってる人」のスレなんだから .sh でピンとこなきゃな
>「Linuxから使い」らしくわかってはいるようだけど。そゆこと
いや本当に分かりません
.shって「.sh」をサフィックスとしたシェルスクリプトのことをおっしゃってます?
1. その推測が正しいとしてmacではダブルクリックではシェルスクリプトは起動しない
2. ただしファイル名のサフィックスを.comandとすると起動できる
で正しいでしょうか?
785名称未設定
垢版 |
2023/09/18(月) 12:51:22.42ID:I1upfSxS0
>>782
>Terminalで新規にウィンドウ開いて実行スクリプトファイルタイプして実行するのと動作は同じ。
>なのでpwdはわかったであろうwそこ(.zshrcとかで cd ~/hogehoge とか起動時のディレクトリを変えててたらそこ。そんなことしないけど)
分かりません
/Users/hoge/Desktop に hage.command なるファイルがあって
hage.command内で cat ./mage.txt するとします
Finderで hage.command をダブルクリックして mage.txt の読み込みは成功しますか?
ちなみにWindowsの場合にはホームディレクトリがWDになるはずで失敗します
上記の例に当てはめると
$ cd /Users/hoge; /Users/hoge/Desktop/hage.command
相当を実行したことになり mage.txt は /Users/hoge にはないので失敗します
さてMacはWindowsと同じでしょうか?
あるいは例えばWDは hage.command がある/Users/hoge/Desktopになり
$ cd /Users/hoge/Desktop; /Users/hoge/Desktop/hage.command
が実行されるので mage.txt の読み込みは成功するのでしょうか?
2023/09/18(月) 13:22:27.67ID:Z9f76Q+U0
もう止めにしようぜ
2023/09/18(月) 13:38:11.73ID:Wd2UAGkn0
>>784,785
Linuxだって、シェルスクリプトファイルの拡張子を .sh にする(時もある)って普通にあるだろうに

デフォでファイルをアプリケーション(.app)に結び付けられる。.command はデフォではTerminal.appのドキュメントになるので、Finderでダブルクリックすると、Terminalに .commandファイルを開け と命令される。Terminal は(実行属性が付いているなら)、新しくウィンドウを開いてそこで開けと命令されたのを実行する
「手動で」新しくウィンドウを開いて実行するのと同じなんだから、pwdはどこかなんて分かるだろう。LinuxでのTerminalでどこやねん。同じだぞ。自分でどれが答えかそれで分かるだろう

Linuxからって言っていたくせになんでWinodwsやねんw まあ、アレを使ってLinuxを使ってるつもりでもあるんだろうけど
なんか(使いwとして勘が悪いくせにw)100まで細かいこと他人に聞いて確認しなきゃ気が済まなそうで、ウタウダ鬱陶しいしな。とっとと買えw
>>786
だなw
2023/09/18(月) 14:16:43.24ID:O5fz+Vup0
>>787
有難うございます

>>>784,785
>Linuxだって、シェルスクリプトファイルの拡張子を .sh にする(時もある)って普通にあるだろうに
少なくとも私の周りでは一般的じゃないので確認しました

>デフォでファイルをアプリケーション(.app)に結び付けられる。
>.command はデフォではTerminal.appのドキュメントになるので、
>Finderでダブルクリックすると、
>Terminalに .commandファイルを開け と命令される。
なるほど完璧に理解できました
有難うございます

>Terminal は(実行属性が付いているなら)、新しくウィンドウを開いてそこで開けと命令されたのを実行する
>「手動で」新しくウィンドウを開いて実行するのと同じなんだから、pwdはどこかなんて分かるだろう。
文章内の「そこ」は>>785で言うと /Users/hoge/Desktop と理解しました
ということはWindowsではWDがホームディレクトリ(/Users/hoge相当)になりますから挙動が異なります
この理解でよろしいでしょうか?

>>787
>Linuxからって言っていたくせになんでWinodwsやねんw まあ、アレを使ってLinuxを使ってるつもりでもあるんだろうけど
>なんか(使いwとして勘が悪いくせにw)100まで細かいこと他人に聞いて確認しなきゃ気が済まなそうで、ウタウダ鬱陶しいしな。とっとと買えw
>>>786
>だなw
クロスプラットホームで動くものを作ろうとすると確認が必要なのです
しかも手元にはLinuxしかないのでw
もうちょっとお付き合い下さい
よろしくお願いします
2023/09/18(月) 16:12:34.42ID:j7bq6OEJ0
まずはLinuxでTerminal使ってみような
790名称未設定
垢版 |
2023/09/18(月) 16:26:23.43ID:O5fz+Vup0
>>789
GUIで起動した場合のスクリプトのWDを問うていますので
LinuxでTerminalでスクリプトを起動してもその答えは得られません

ちなみにDolphinで起動するとスクリプトのあるパス
>>785の例で言うと /Users/hoge/Desktop がWDになります
LinuxにはFinderにあたるソフトウェアは他にもあるので
全てこの挙動になるとは限らないことに留意しておく必要があります
2023/09/18(月) 16:38:03.07ID:j7bq6OEJ0
https://askubuntu.com/questions/332062/setting-default-path-when-opening-a-terminal-session
まあ、だよなあ。至って当たり前の動作だよなあ
と思ったが、
https://access.redhat.com/solutions/109483
変なwとこデフォにするのがあるんだな

何を偉そうに講釈垂れてるんだか。そんだけ講釈垂れられるなら全て自力で解決しろ
2023/09/18(月) 16:47:05.85ID:O5fz+Vup0
>>791
だから調べないと分からんのですよ
MacのFinderから起動するとWDは
1. 実行ファイルのあるディレクトリですか?
2. ホームディレクトリですか?
3. その他のディレクトリでしょうか?
私はMacはおろかWindowsも手元にないので聞きに来たのです
2023/09/18(月) 16:50:27.59ID:YklZIZaA0
ファイラーアプリによって動作がまちまちってちゃんとわかってるじゃん
GUIから起動するようなスクリプトはpwdに依存しないように書くのが正しい、終了
2023/09/18(月) 16:51:43.00ID:j7bq6OEJ0
>だから調べないと分からんのですよ
何を言ってるんだか。調べないとではなく、他人に頼って聞かないとだろ
他人頼りなのになんか変なプライドだけは高いやつだな
>>779 が正しかったなw

今度は 私は〜Windowsも手元にない だって。Linuxすら手元に無さそうだがw
こんな性格だったら、どうせMacを買いもしないだろうし、バイバイ
2023/09/18(月) 16:54:42.16ID:j7bq6OEJ0
>>793
シェルスクリプトを書く上では、
普通に現在のカレントディレクトリはスクリプトで指定するなり、そもそもWorking Direcotyに依存しない絶対パスで書いたりするよなあ
ただの意固地で拘ってるだけだよ、多分w
2023/09/18(月) 16:57:19.21ID:9yWLBNSQ0
>>793
> ファイラーアプリによって動作がまちまちってちゃんとわかってるじゃん
はい
だからFinderの挙動はどうなってるのかの質問になります
2023/09/18(月) 17:00:08.02ID:9yWLBNSQ0
>>795
何かをどうするとは私は書いていないと思いますので
何に私が拘っているか不明です
2023/09/18(月) 17:01:22.90ID:j7bq6OEJ0
>>793
>ファイラーアプリによって
ではなく、Terminalアプリだと思うけど(>>791の下)。単にファイラーアプリはアプリによってという例でかもしれないが
まんまファイラーアプリ=Finderとなってるww
全くわかってねーな。とっととMac買えば済む話、Mac買って自分で触らなきゃ解決しないなこれはw
2023/09/18(月) 17:05:15.73ID:9yWLBNSQ0
>>798
MacってTerminal.app以外にもxtermも動くよね?
2023/09/18(月) 17:07:24.43ID:j7bq6OEJ0
だからなに?
な?拘ってるだろw
自覚無いようだが
何に拘っているかは自分に聞いてみろ。自覚がないなら...
2023/09/18(月) 17:10:52.11ID:YklZIZaA0
>>798
すまんそのリンクは読んでなかった、でもそれ.desktopファイル(Windowsのショートカット相当)から起動するときの話で
ファイラーからダブルクリックして起動するのとは別じゃないかなあ
2023/09/18(月) 17:16:29.24ID:j7bq6OEJ0
>>801
Terminalアプリで自動実行する場合のWorking Directoryはどこやねんって話で、
Terminal アプリで新しいウィンドウを開いて新しいセッションの場合は、ファイラーは関係なく、あくまでもTerminal アプリがどうってのじゃないかなあ
ファイラーからTerminal アプリへはWorking Directoryに依存しない、絶対パスなんぞで目的のスクリプトファイルが渡されるだけのような
まあ、これまたスクリプトファイルのあるディレクトリをWorking Directoryにsる変なTerminalアプリがあるかもしれないけどw
2023/09/18(月) 17:17:46.72ID:9yWLBNSQ0
>>800
「何」にか書けないでしょう?
私は何にも拘っていませんから
2023/09/18(月) 17:19:58.47ID:j7bq6OEJ0
何につけズバリと教えてもらわなければ気が済まない/わからないんだなww
まあ無自覚な方か
2023/09/18(月) 17:27:34.13ID:YklZIZaA0
>>802
launchdのあるMacと違ってLinuxでは起動したやつが直接の親になるだけだから(.desktop経由で起動する等特殊な例を除く)
ファイラーがターミナルを起動するときに子プロセスへのwdの継承は行われてるはず
そのときファイラーがwdをどこにしてるかと、ターミナル側が上書きするかどうかは別の話で
2023/09/18(月) 17:34:12.17ID:j7bq6OEJ0
>>805
そこかーら、新しいセッション(login shellの起動?)のためには、Terminal自身がWorking Direcorryを変えて(普通は$HOME)じゃね
なので、新しいセッションでは普通は$HOME、変なw変更できるのでは>>791のよな変なデフォかTerminalアプリの設定されたとこでTerminal自身がWorking Direcorryを変えてそれを継承してシェルが始まるんじゃないのかな
2023/09/18(月) 17:45:08.13ID:YklZIZaA0
なんか俺も何やってるのかわかんなくなってきたな、そもそもLinuxの動作の深堀りに意味はないよな…

>>806
Macではターミナルウィンドウ毎にlogin(1)が実行されるけど
Linuxではウィンドウシステムにログインした時点でターミナルレベルのログインも済まされてて全部同じセッションなんですわ
だからターミナルアプリか.shrcあたりが余計なことしてない限りwdはそのまま
(引用するのは癪だが>>790が書いてあるとおり)
2023/09/18(月) 17:50:52.13ID:j7bq6OEJ0
>>807
それは変なwTerminalアプリの話のようなw
>>791の最初のは違うようだけど
同じセッションの意味がちょっとわからない。新しいウィンドウでの=新しいセッション、ウィンドウ毎=セッションのつもりだった
別ウィンドウ=別プロセスのシェルのWorking Directoryを「わざわざ」Terminalが取得してでなきゃ実現しなさそうだけど
2023/09/18(月) 18:10:26.52ID:YklZIZaA0
>>808
あー、ログインシェルのセッションということでOSがログイン/ログアウトと認識する単位のつもりだった
login(1)で開始されてlastコマンドで履歴が見えるやつ
>>791の上のやつはターミナルのウィンドウのことをセッションと呼んでるなあ
紛らわしくてすまん

要はMacでもひとつのターミナルウィンドウの中で普通にUNIXコマンドを実行したりbashやzshを入れ子起動してもwdはそのままなのと同じで
Linuxのターミナルアプリは何ら特殊なことはなく一般コマンドと同じに過ぎないというだけ
wdはそのままなのが普通で変更するほうが「わざわざ」
2023/09/18(月) 18:17:48.51ID:j7bq6OEJ0
>>809
了解。俺も単にかっちょいいからパクっただけだからwすまん

その「わざわざ」をしなければ、シェルが使いづらいやんと思うのだけど
シェルの起動直後だけデフォ(しつこいが$HOMEが普通)、以後、そのシェルがまたシェルを起動しても元のシェルのWorking Directoryのままってのは、セッションのためのシェルを起動するときにTerminalアプリ自身のWorking Directoryを変えて単に起動したシェルが継承してるだけというのが逆にシンプルになると思うが
2023/09/18(月) 18:40:11.14ID:YklZIZaA0
ぶっちゃけ大抵のターミナルアプリにも固定するような設定はあるので使い辛いと思う人もいるんだろうな
俺も最初はMacと動作が違うので戸惑ったが慣れてしまった
逆にTerminal.appだって昔は$HOME固定だったけどいつの頃かすでに開いているウィンドウがある場合は
新しいウィンドウも同じディレクトリになる設定ができるようになったし
2023/09/18(月) 20:39:54.25ID:TH8UtMi00
なんだこのスレ
813名称未設定
垢版 |
2023/09/18(月) 21:28:56.17ID:O5fz+Vup0
なるほどみんな有難う!
だいぶMacOSは違うようだね
hage.commandを起動するとTerminal.appが起動されるので
Terminal.appのWDってのは分かった
hoge.commandではなくてアプリケーションプログラムをFinderから起動したらどうなるのかな?
といってもMacOSのアプリケーションプログラムって単純なバイナリじゃなかったんだっけ?
例えばgccでビルドしたhello worldをFinderからダブルクリックしたらWDはどこになるの?
Terminal.appは呼ばないと思うんだけどもやっぱり$HOMEかな?
2023/09/18(月) 21:36:29.40ID:TH8UtMi00
/をつければ絶対パス
/をつけないなら相対パス
2023/09/18(月) 21:42:25.57ID:O5fz+Vup0
>>814
ダブルクリックしたら?
2023/09/18(月) 21:45:57.58ID:TH8UtMi00
>>815
乳首が勃起する
2023/09/18(月) 23:58:44.62ID:d5S5VROE0
もう自分で検証して報告してくれ
ワイはその都度いい感じに動くようにチェックしつつディレクトリは調整するからいちいち知らん
2023/09/19(火) 00:26:56.69ID:JxRtRQA50
>>817
そんな寂しいこと言わず付き合って下さい!
デスクトップにフォルダ hoge を作成し
その中に以下を hage.c として保存して下さい
#include <stdio.h>
int main (){
FILE *fp = fopen ("mage.txt", "w");
return 0;
}
以下のようにビルドして
$ gcc -o hage hage.c
出来た hage をFinderでダブルクリックして下さい
mage.txtはどこにできますか?
フォルダhogeですか? Desktopですか? $HOMEですか?
たぶん$HOMEだと予想しますが
2023/09/19(火) 05:14:30.26ID:Zk3wdnQA0
>>818
検証する必要もねぇ
ユーザーのホームディレクトリにテキストが作成される。
/の有無はグラフィカルユーザインターフェースアシスタンスで補助する簡易機能だから
0でカレントディレクトリ取得しろ
昔はBASH_SOURCEだけどもzshからは0でいい

検索できんならmanこしろ
2023/09/19(火) 05:19:39.39ID:OR7cPwcw0
普通のアプリのカレントディレクトリはサンドボックス、とか
2023/09/19(火) 10:19:28.39ID:JxRtRQA50
>>819
おお有難う

>ユーザーのホームディレクトリにテキストが作成される。
Windowsと挙動は変わらんね

>検索できんならmanこしろ
実機はまだないんだ
2023/11/19(日) 02:54:12.03ID:uxCR2Zj20
ふと、自分のzshのPS1とかPROMPTの値が気になったのですが。

環境変数の一覧を見たいときってenvコマンド? この中にはないですね
setだと出ますね。あれ、もしかしてただの変数だっけ?
2023/11/19(日) 07:11:09.66ID:ZFDHVOMV0
export付ければenvでも出る
export付けなくてもプロンプトなzshプロセス内でなのでただの変数でもいい
.zshrcなんぞ読み込まずにzshプロセスを起動したらPS1とかPROMPTの設定が無い
てとこかな
2023/11/19(日) 07:20:25.49ID:ZFDHVOMV0
>zshプロセスを起動したら
PS1とかPROMPT設定してるzshプロセスからね
sudo -s
ってすると、rootの.zshrcなどを読もうとしてのも同じようなもん
PS1とかPROMPTが失われてデフォのになる。exportしていたら引き継がれて同じようなカスタムプロンプトになる
2023/11/27(月) 18:21:06.04ID:v+KfbMMu0
XSI Shell Command Language

Shell Variables
Variables are initialised from the environment (as defined by the XSH specification) and can be given new values with variable assignment commands. If a variable is initialised from the environment, it is marked for export immediately; see the export special built-in. New variables can be defined and initialised with variable assignments, with the read or getopts utilities, with the name parameter in a for loop, with the ${name=word} expansion or with other mechanisms provided as implementation extensions. The following variables affect the execution of the shell:

PS1(, PS2, PS4) に限らず、元々ただの変数。同名の環境変数があればその値に初期化初期化されるってだけな
2023/11/27(月) 18:27:34.86ID:v+KfbMMu0
POSIX
2. Shell Command Language

2.5.3 Shell Variables
Variables shall be initialized from the environment (as defined by XBD Environment Variables and the exec function in the System Interfaces volume of POSIX.1-2017) and can be given new values with variable assignment commands. If a variable is initialized from the environment, it shall be marked for export immediately; see the export special built-in. New variables can be defined and initialized with variable assignments, with the read or getopts utilities, with the name parameter in a for loop, with the ${ name= word} expansion, or with other mechanisms provided as implementation extensions.
The following variables shall affect the execution of the shell:
2023/11/28(火) 22:06:40.42ID:BNgf9/r10
>>822の疑問に回答をありがとうございます >>823-826
2023/11/28(火) 22:12:32.78ID:BNgf9/r10
ところで、
zshで日本語のファイル名のファイルを作ると、ファイル名がUnicodeの分解形でなく
合成形になっていることがある気がするのですが、同じような現象にあったり、
なぜそうなるか/そうするかをご存知の方はいらっしゃいますでしょうか
2023/11/28(火) 22:37:58.80ID:8GKgyV7r0
apfs自体はどちらでも記録できてどちらでもアクセス可能で
Cocoaフレームワークは分解(正確にはmodifided NFD)するけど、zshは素通しだからじゃない?
2023/11/29(水) 01:20:50.86ID:78Ym/uzH0
あ、ちょっとわかりました、「が」というファイル(だけ)があるとき
% echo * | iconv -f utf-8 -t utf-16le | od -x -A n
304c 000a
% ls | iconv -f utf-8 -t utf-16le | od -x -A n
304b 3099 000a
2023/11/29(水) 01:24:32.70ID:78Ym/uzH0
>>829
なるほど
ところでAPFSのファイル名の扱いってHFS+と同じと思っていんですかね
そのへんの仕様に関するドキュメントが見当たらないような気がするのですが
2023/11/29(水) 09:45:38.08ID:5rj6rJp90
ごめん>>829は間違い。Macのzshはワイルドカード展開でNFC正規化するらしい
だから>>830はlsが返してきてるほうがディスクに記録されてる形式だと思う

HFS+はファイルシステム側がファイル名をmodified NFD変換して保存する、apfsはしない
どちらもアクセス自体はどの形式でもできる、だったはず
ぐぐったらFAQがあった
ttps://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html
2023/11/30(木) 08:40:54.38ID:nnlSMUVx0
>>832
APFSはシェルから触ったら何もしないのかな? そういえば示申問題ってありましたよね
シェルでやればこんなことも(あ、5chのUnicode処理がわからないけど):
% ls
神 神︀ 神󠄀
見た目で区別が付かない(注: 環境による)。種明かしをすると
% ls -C | gsed -r 's/\s+//g' | iconv -f utf-8 -t utf-16le | od -x -A n
fa19 795e fe00 795e db40 dd00 000a
ちなみにデフォのsedの正規表現サポートに耐えられずGNU sedを使っています

一方Finderで示神(U+FA19)を作ろうとすると神にされてしまう。こっちは素のNFDですか?
2023/11/30(木) 17:49:14.45ID:nnlSMUVx0
>>832
>ごめん>>829は間違い。Macのzshはワイルドカード展開でNFC正規化するらしい

結局これって何のためなんですかね。コマンドラインでファイル名を扱うときの
「文字幅」問題を何とかしようとか?
しかし上でやったようにls等からファイル名を受け取とる場合もあるしなあ
2023/12/02(土) 09:15:38.20ID:6RnYjEce0
scutilというのがありますよね
「コンピュータの名前」に関して HostName, LocalHostName, ComputerName と
複数あるようですが、これらの関係・違いってなんですかね
2023/12/02(土) 09:24:10.33ID:mvveSJCp0
ComputerName: MacOSのFinderなどの表示で通常使われる名前
LocalHostName: Bonjourで使われる名前
HostName: UnixとしてのPosix系システムAPIで使われる名前
2023/12/02(土) 11:35:22.56ID:2TlsHpzr0
デフォルトではHostNameが空でLocalHostNameをHostNameとして使ってるように見える
Bonjour名は(LocalHostName).localになる

Montereyまではシステム環境設定の共有名を変えると
ComputerNameとLocalHostNameが同時に変更されたけど
Ventura以降はLocalHostNameしか変わらなくなって
ComputerNameを変えるには一般→情報→コンピュータ名を変えるというスタイルになった
2023/12/04(月) 08:41:02.31ID:ivTwpHIz0
>>836 >>837
なるほど、わかりやすい解説をありがとうございます
2024/01/07(日) 09:52:14.50ID:5ZhDjfPB0
Emacsの入れ方は何パターンかあるようですが、皆さんどうされてますか?

なんとなく、Emacs Mac Port版というのをhomebrewで入れてみたんですが、
ターミナルでemacsと入れてGUIのウインドウが立ち上がった後も、キー入力の
フォーカスがターミナルに残ってしまい、困っています。
2024/01/07(日) 10:25:16.33ID:pW5idtLf0
自分でビルドしてるよ
armとのuniversal版を作ってる
最近はgnutlsも必要だから
.appパッケージ内に全部納めるのかなり面倒
2024/01/07(日) 11:39:59.87ID:5ZhDjfPB0
おお素晴らしい
自分も大昔はビルドとかしたんですけど、その頃はMach-Oのアンダンプが上手くいかな
かったりして、手直ししたりして。今はもう楽な方に流されたい一方
2024/01/07(日) 14:35:23.13ID:Q0mteRmo0
MacPortsを使っているので、emacs-mac-appをインストールしています
sudo port install emacs-mac-app
するだけ
2024/01/07(日) 14:35:58.78ID:tLXSKpHl0
こんなのが
https://github.com/railwaycat/homebrew-emacsmacport/issues/359
When I launch it from the terminal with emacs it launches just fine but any text I write is instead written in the terminal.
2024/01/14(日) 23:00:24.44ID:AyxoBdsi0
おっとレスが遅くなってしまった
>>843 まさにそれですね

というわけで自分でビルドを、と言ってもこの方のパッチを使わせてもらっただけ
https://github.com/takaxp/ns-inline-patch

elispとかの場所に関して、上記のは.app内にある感じですね。コマンドラインから
起動すると実行ファイル相対で場所を探す? 変なsymlinkとかしちゃいけなそう
2024/01/23(火) 21:04:46.97ID:B2Qav+pg0
ターミナルでプロセスを見たらsoftwareupdatedというのが暴走している感じ
なのでsudo killしようとしたらOperation not permittedとなってしまいます。
何か設定が足りないのでしょうか。
2024/01/23(火) 21:13:03.69ID:Ob//khdg0
MacOSのrootはrootless機能で出来ないことがいっぱいだから

試してないけど、これとか参考になる?
https://superuser.com/questions/1658393/sudo-kill-9-pid-doesnt-kill-softwareupdated-in-mac
2024/01/24(水) 23:42:29.03ID:qAKC56wq0
やること終わったら静まるんじゃないのsoftwareupdated
動くのが嫌ならシステム環境設定で自動アップデートとか止めといた方がいいんちゃう、今後に向けて
2024/03/01(金) 09:05:59.92ID:gEN8Y5Xm0
/home/ユーザー名 みたいなディレクトリを用意したいのだけど、rootでも
作れないですね
今ってセキュリティーの関係で勝手な場所にディレクトリを作ったりはできないん
でしたっけ。あ、Sonomaです
2024/03/01(金) 10:38:03.20ID:T31HaMdf0
この辺とか? https://zenn.dev/tomoakinagahara/articles/955eec5d723fea
2024/03/01(金) 15:13:24.19ID:sPp4spVa0
>>849
横からだけどいい情報サンクス
2024/03/01(金) 15:37:34.55ID:gEN8Y5Xm0
>>849
なるほど。早速情報をありがとうございます。Linuxと場所を揃えたりしたかった
んですよね

macOSのファイルシステムは変わってますよね。そういえば、アプリケーション
なんかは、OS付属のアプリと自分で入れたアプリを重ねて表示してる感じですが、
(OS付属のアプリはread-onlyなどこかにあるようなので)、
あれはもしかしてああいうファイルシステムなのか単にFinderの機能なのか
2024/05/02(木) 13:28:10.81ID:1jwqoZHk0
うにくす
2024/08/08(木) 07:52:31.09ID:bGMyw13f0
外付けディスクをアンマウントしようとしたら、「ターミナルが使っている」と言われました
で、そのディスクを踏んでいるターミナルウインドウを閉じたけど駄目
プロセスをよく見るとloginが走っているのですね。邪魔くさい
これってログインシェルがどうたら... でしたっけ
レスを投稿する


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