探検


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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2020/11/03(火) 08:10:53.14ID:3IpYfRMd0
https://i.imgur.com/TDUMQS3.jpg
687名称未設定
垢版 |
2020/12/23(水) 15:55:58.21ID:lUNE4qUa0
opendirectoryって今誰か使ってるの?
てゆーか使ってるんだけど
ユーザが居なくなっちゃったときどうすれば良いか
sudo$ sudo -s
sudo$ launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist
sudo$ /usr/libexec/slapd -Tt
sudo$ db_recover -cv -h /var/db/openldap/openldap-data/
sudo$ db_recover -cv -h /var/db/openldap/authdata/
sudo$ /usr/libexec/slapd -Tt
sudo$ launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist
こうやれって書いていたサイト有ったけど
いちいちこれ何やってるんだろ?
これでだめなら
sudo$ slapconfig -restoredb /private/var/backups/ServerBackup_OpenDirectoryMaster.sparseimage
ても書かれてたけど
これってつまりマスターのアーカイブというのをserver.appで事前に作っていてればそれを読み込むということ?
もう誰も使ってないんだろうか
死んでしまいそう
2022/05/02(月) 10:26:41.46ID:pHUH7Hbn0
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
2022/05/03(火) 02:52:53.66ID:txtxeqvx0
  ヽ(´・ω・`)ノ
(( ノ(    )ヽ ))
  <    >
2022/05/03(火) 07:46:09.75ID:dyx2rmUA0
>>687
>opendirectoryって今誰か使ってるの?
Open Directory 自体は macOS使ってるみんな使ってる
OpenLDAPなのはmacOS Serverか
2022/09/21(水) 13:40:24.11ID:BXsLPlob0
古いpythonスクリプトを走らせようと思ったら1行目が #!/usr/bin/pythonになってる
ファイルが結構ある
Montereyを使ってますが、/usr/bin/pythonがないだけでなく、/usr/bin/は簡単に
書き込んだりできないし、古いスクリプトだからpythonもv2系だと思われ
こんなスクリプトを走らせるのにどうしたらいいか教えてください
2022/09/21(水) 14:04:52.29ID:OXL1phss0
その古いスクリプトの方を書き換えればいいだろ
#!/usr/bin/python
を、pythonもv2系のに
2022/09/21(水) 14:19:04.95ID:bDjc5Lcr0
python そのスクリプト
で起動してやればshebang無視して実行してくれんじゃない
2022/09/21(水) 15:13:42.61ID:OXL1phss0
>>693
>ファイルが結構ある
=めんどくさい
が主なポイントかと。python そのスクリプト はめんどくさくね?

ある意味簡単に書き換えられる(/usr/bin/python は元々 python2 でしかなかったようだから、/usr/local/bin/python2 に書き換えてしまっていいだろう)し、
ファイルが結構あっても簡単に書き換え(それも今回一度だけ)できるのがシェルスクリプト/OS X をUnixとして使ってるだろになっていう
695691
垢版 |
2022/09/22(木) 08:24:21.53ID:wAiVih450
どうも、>>691ですが、やはり !# /usr/bin/python を書き換えました
まずpython2がなかったので公式からバイナリを落とすところから

あと、そのスクリプトのディレクトリには昔コンパイルしたバイナリも付属していた
のですが、quarantineで引っかかったり

/bin/shは今はなんでしたっけ、とりあえずシェルスクリプトは問題なかったです
2022/09/22(木) 08:30:20.13ID:J1fIyGjM0
bashでしょ
dashがデフォで入るようになったからそのうちdashになるかもね
2022/09/22(木) 11:12:49.48ID:HwDkuDYz0
ここ最近のOSだとzshじゃないの
2022/09/22(木) 16:19:32.17ID:mf7dr3hF0
こんなん出ましたけど
% uname -r
21.6.0
% ls -l /bin/sh /bin/bash /bin/zsh
-r-xr-xr-x 1 root wheel 1326576 Aug 24 01:59 /bin/bash
-rwxr-xr-x 1 root wheel 150384 Aug 24 01:59 /bin/sh
-rwxr-xr-x 1 root wheel 1377872 Aug 24 01:59 /bin/zsh
2022/09/22(木) 16:45:20.27ID:Pc2kkbZ50
>> 697
ログインシェル、Teminalでインタラクティブで使うようなシェル、ユーザが好みでユーザ毎に選べ設定できるシェルがな
それもデフォルトが変わっただけ。元々zshはずっと昔から入ってるが、ユーザ作った時にユーザのログインシェルのデフォルトがbashからzshに変わっただけ

/bin/sh は違う、汎用的なコマンド化したようなシェルスクリプトを走らせるためのもの。使い勝手よりもポータビリティ(シェルの違いによらない互換性重視)のための
Montereyでもbash (bashのライセンス変更前の古いバージョン)。/bin/shで実行されるとPOSIX互換で動作する(はずだが数々のbash独自のも許容してるけど)

って、Unixとして使ってるなら常識w
2022/09/22(木) 17:02:36.09ID:Pc2kkbZ50
>>698
/bin/sh --version
とかしてみ。/bin/shがどうなってるのかよくみてみ
701名称未設定
垢版 |
2022/09/22(木) 23:05:04.92ID:l+nOVKGu0
>>690
>Open Directory 自体は macOS使ってるみんな使ってる
そう言う意味ではなくて・・・
結局作り直したけど
なにやってるのかなあ
2022/09/22(木) 23:09:35.68ID:iLHBiO0k0
ユーザ情報の保存管理
2022/09/22(木) 23:12:04.07ID:iLHBiO0k0
ユーザ情報だけではないけど/だけではない
2022/09/23(金) 00:40:25.48ID:uan++0Sm0
>>700
% /bin/sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)
Copyright (C) 2007 Free Software Foundation, Inc.
% /bin/bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)

というわけで区別できません、残念w
2022/09/23(金) 00:41:41.60ID:uan++0Sm0
だけど
% strings /bin/sh | grep PROGRAM
@(#)PROGRAM:sh PROJECT:dash-12
% strings /bin/bash | grep PROGRAM
@(#)PROGRAM:bash PROJECT:bash-125

だそうで
2022/09/23(金) 00:48:21.68ID:uan++0Sm0
あ、>>704で二番目の出力の二行目を削っちゃった、失礼
おなじく Copyright (C) 2007 Free Software Foundation, Inc. があります
2022/09/23(金) 00:51:58.81ID:uan++0Sm0
macOSのビルドというかバージョン管理のこの部分は昔から変わっていないようで

ところでこの文字列をちゃんと扱うコマンドがあった気がしますが、どなたかご存知
ですか? 自分はmacOS上の開発からはだいぶ離れていて忘れてしまいました

大昔のrcsだとidentっていうのがありましたが(っていうか今、それを確認するため
だけにrcsをインストールした自分w)
2022/09/23(金) 02:25:42.15ID:AIoNdYOS0
>>704
/bin/sh --version
で、/bin/sh で起動される実態が bash なのを確認しろ が、第一
/bin/sh に興味があるなら詳しく見てみってのが、第二

いつぞやからか、いつぞやまでは、/bin/sh は bash を別ビルド(ビルド時のなんかのオプションをオンだったかな)で、サイズはほぼ同じ
不思議に思っているだろうのは、/bin/sh はシェルではなく、指定されたシェルを起動(するだけの)プログラムらしい
後者のはググレバすぐにある

>>705
>PROJECT:dash-12 !
??なんだろ、実態はdashなのかな?(サイズ的にはまあ合ってる感じ)、起動すべきのが設定されていなかったら、元のdashでとか=そのうち 起動すべき のが消えるとかかな
2022/09/23(金) 05:57:04.45ID:uan++0Sm0
>>708
なるほど、man shに/private/var/select/shを起動するとありますね
私の環境では/private/var/select/sh -> /bin/bashとなってます
なので--versionでbashと見分けがつかないと
2022/09/23(金) 08:22:29.16ID:2y4uuE0L0
念の為システムコールとか見とこうと思ったらdtrussとか使えない
SIPをいじったりしてみたけど駄目。Montereyで使えてる人います?
711名称未設定
垢版 |
2022/09/23(金) 09:29:24.07ID:dCvbmEXr0
シェルスクリプトの話か?
POSIX原理主義者だが何か教えてほしいことはあるか?
2022/09/23(金) 15:53:28.99ID:c6SNt6ME0
およびじゃない
2022/09/23(金) 18:33:50.10ID:uan++0Sm0
>>708
>??なんだろ、実態はdashなのかな?

ここでのdashは中の人が管理しているパッケージの名前ですね。おそらくその中で
- macOSで使うdashのコード
- /bin/shのコード(実行すべきシェルを探してexecするだけのコード、たぶんオリジナル)
を管理しているということかと
2022/09/23(金) 19:20:16.63ID:c6SNt6ME0
>>713
Apple Open Source で見れるやつのね
大体はコマンド名(複数のコマンドを含めたのは別)だから、dashってdashしかないんじゃないのかと
単なるキックコマンドを新しく作っていたとしても、dashに入れるかなあ。そもそも単なるキックコマンドにしてはでかいような(ちなみに、似たような単なるキックコマンドである /usr/bin/git は 18288 )

Apple Open Source のページはいつの間にか変わったな。今回のようなのからは探しやすくなったが、macOSバージョンでどういうのというのがなくった?
それよりも、まとめてダウンロードできなくなったような
2022/09/23(金) 19:23:41.25ID:c6SNt6ME0
>>714
>dashに入れるかなあ
現在の機能的には「全く」dashと無関係ということでね
2022/09/23(金) 19:35:41.60ID:c6SNt6ME0
まあ、Appleはそのうち/bin/shをdashにするつもりまんまんw、そんな感じが感じ取れそうってことで
2022/09/24(土) 00:35:44.90ID:0Pnk3HDs0
>>714
「でかい」ってそれはあなたの感想ですよねw 2アーキ分というのもあるし
ソースがなければ〇〇したらいいじゃない

/usr/bin/gitはコマンド名がccか、clangか、等チェックしてxcselect_invoke_xcrun
というのを呼ぶだけですね。実際
% ls -li cc clang llvm-gcc c++ llvm-g++ clang++ git
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 c++
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 cc
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 clang
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 clang++
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 git
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 llvm-g++
1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 llvm-gcc

/bin/shは、もうちょっとだけロジックがある
2022/09/24(土) 00:42:26.67ID:0Pnk3HDs0
いや、/bin/shも同程度か
お使いのOSバージョンによってファイルサイズは違いますね
2022/09/24(土) 00:49:24.15ID:0Pnk3HDs0
あら、git以外にも開発系コマンドはほぼ全部? 同一なのね
面白いことをしますなあ、中の人
2022/09/24(土) 07:19:15.84ID:d1n5cjMw0
ある時期に、コマンドも全部Xcode.appに内包するようにしたからな
2022/09/24(土) 07:41:21.55ID:2r6w7u0p0
いつまで発見した疑問問答を続けるのか
2022/09/24(土) 21:35:53.43ID:wV0pM2gX0
バイナリーを1個にまとめる意味はなんだんだろう
昔からある、サイズを減らす使う手法としてなら、こんな風に別のバイナリを呼ぶのではなく
全部のコードを含まないといけないし、かつそれが有効なのはスタティックな場合ですよね
2022/09/24(土) 22:50:20.05ID:8QSL1va+0
思いっきり思い違いしてる
2022/09/27(火) 07:39:46.35ID:1CnnxZPp0
皆さん素直に正解を教えてくれないw なので疑問と自己ツッコミが続くw

ふと思ったのは実行ファイルの自由さのためとか... ??
ライブラリに関してはダイナミックリンカーの設定・挙動でどこのどのバージョンを
使うかをランタイムでコントロール・管理できる自由度がある
一方実行ファイルに関しては環境変数とか、従来意外と地味な状況かと
2022/09/27(火) 16:15:51.25ID:aNq2IcjR0
的外れの妄想
2022/09/27(火) 17:34:13.47ID:ii/K/WU20
茶化すしか能がない平均的スレ民
2022/09/27(火) 21:42:46.50ID:vRUk90BR0
能があるならお前がそんなの無視して教えればいいのに
本人かと思えるレス
2022/09/27(火) 21:47:32.06ID:RlRAi93v0
答えそのものを教えてもらえるのが当然というアレな思考なんだろな
違うと教えてもらってると考えられないのがまさしく。悩まないと身につかないよw
2022/09/27(火) 22:47:43.38ID:Er38c3fE0
ちょっと茶化すと超いきり立つ平均的スレ民
2022/09/28(水) 01:22:51.46ID:f7XZSygi0
↑ 自己紹介しかできないアホ
2022/09/28(水) 08:02:46.83ID:2fzHmHkE0
少し調べてみました
xcrunとかxcode-selectとかここらへんのやつが小細工をしていると
大雑把に開発系コマンドのインストール場所の管理とかそんな?
でそれは選択したしたSDKのバージョンなんかにも依存する?

しかしそんなことをして各コマンド自体は改変せずともちゃんと動くんだ
特定のファイルやディレクトリの位置をビルドの設定時に決めるようなやつとかいますよね?
そういうのも含めてアップルで改変・管理してるのかな
2022/09/29(木) 11:49:41.60ID:IzGA4avo0
Xcodeを14にアップデートしたらxcrunがクラッシュするようになったのですが
私だけでしょうか
2022/11/20(日) 12:14:57.77ID:0Vqkolu50
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
2022/12/28(水) 03:32:13.69ID:YMKS7OoR0
#!/bin/sh

_RES=$(printf "A\nB")
_STR="A\nB"
echo "_RES「${_RES}」"
echo "_STR「${_STR}」"

if [ "${_RES}" = "${_STR}" ]; then
echo "等しい"
else
echo "等しくない"
fi

これが"等しい"にならないのは何故なんでしょう?(Monterey、zsh)
2022/12/28(水) 04:07:09.52ID:Idiu5rw60
>>734
printfが¥nを処理しちゃうからじゃないの? もう一方はされない

例えば1行目を _RES=$(printf "A\\\\nB") にすると
2022/12/28(水) 04:11:31.87ID:Idiu5rw60
built-inなechoも色々のようで
% zsh -c 'echo "A\nB"'
A
B
% bash -c 'echo "A\nB"'
A\nB
2022/12/28(水) 04:55:31.15ID:YMKS7OoR0
あー、echoやprintfが出力時に良きに計らっちゃってるというか、その実装なりに出力して同じように見えちゃってるだけってことですかね
"A\\\\nB"だと確かに等しいですね

_STR="A\nB"
printf "_STR count=${#_STR}\n"

これも4になるので、改行になってないってことですかね。

_STR="A
B"

こうだと3になりました。
改行を含めたい場合の書き方として本当にこれで良いの…?という気もしますが
なんにしろ等しくない理由はなんとなく分かりました。ありがとうございます。
2022/12/28(水) 09:43:28.41ID:aBQCHIB50
>>736
-n もだが、POSIX/XSI的には記述はあるが 実装による のようだからね
逆に、-n や文字列にバックスラッシュが含まれる echo の結果には互換性はないと記述があるくらいな
2022/12/28(水) 10:27:35.46ID:aBQCHIB50
>>737
>あー、echoやprintfが出力時に良きに計らっちゃってる...
そゆことだね。/bin/sh は -n は処理するが文字列中のバックスラッシュは処理しないから、同じようには見えなくなるね

バックスラッシュは、基本的にはシェルでは処理しない
_STR="A\nB"
printf "_STR count=${#_STR}\n"
は、シェルで
>_STR="A\nB"
_STRに A\nB そのまま入れるだけ
>printf "_STR count=${#_STR}\n"
${#_STR}をシェルで展開し A\nB だから 4
_STR count=4\n がprintfの引数になる、printfは _STR count=4\n を受け取ってるだけ

シェルでリテラル中のバックスラッシュを展開させたいバックスラッシュ+な特別文字(表記)を使いたいなら、実装による(まあ、bashやzshではサポートしてる) $'A\nB' という方法もある
2022/12/28(水) 10:28:31.27ID:aBQCHIB50
>>739
>/bin/sh は -n は処理するが
/bin/echo は -n は処理するが
2022/12/28(水) 12:32:00.78ID:A/KjV0NT0
>>739
>バックスラッシュは、基本的にはシェルでは処理しない
シェルでバックスラッシュが意味あるのは、\n のような特殊文字表記用ではなく、 \ に続く文字をそのまま使うというだけの意味で
_STR=\n
は、単に n だけ
なんの意味があるのかというと、' や " や スペース や $ などなどシェルスクリプトでの特別意味がある文字をそのままを使いたい場合で。\nのような特別な文字を使いたい場合とは逆な
文字列に ' に使いた場合に、
_STR=It\'s\ a\ ...
' で囲んだ文字列リテラルでの場合は、
_STR='It'\''a ...'
という変態なのが定番だったりする
" で囲む場合だと、"It's a ..." という至って当たり前になるけど。また、" で囲った中で " を使う場合は \" でいいのは、" で囲った場合は中の変数展開をするのと同じで \" を ” とする(\に続く文字そのまま、囲む " とは別物の)処理をするからていうテイで
シェルスクリプトはオモロイねw
2022/12/28(水) 23:19:17.02ID:YMKS7OoR0
C言語なんかの文字列表記と同じ感覚でバックスラッシュ使ってましたわ

>>739
>$'A\nB'
"A
B"
と書くよりはこっちの方が良さそうですねありがとうございます。
2022/12/29(木) 05:58:52.02ID:LHLwl5FZ0
>>742
後は移植性を気にするかどうかだね。例えばLinuxだとdashがデフォの環境とかあって
いわゆるP
2022/12/30(金) 06:49:44.10ID:GsM2qt7O0
P?
2022/12/30(金) 22:32:49.16ID:PBjzseHF0
O
2022/12/31(土) 10:50:47.26ID:jIO4W4JL0
S
2022/12/31(土) 10:51:43.79ID:mf2P7cIv0
T
2023/01/09(月) 17:23:21.58ID:gGXok3CM0
複数種類のshで動作確認とかしてないなら#!/bin/shではなくて
具体的にbashとかzshとか書いといたほうが後々混乱しなくて済む
2023/01/17(火) 03:21:40.36ID:X+Es3zWJ0
将来のPOST、じゃなくてPOSIXでは $'...' も標準になるみたいですなあ
https://www.austingroupbugs.net/view.php?id=249

でdashなんかも追随していくと。でも今度はdashのバージョンで挙動がちがーう、
みたいなことで悩むのが定例
2023/01/17(火) 19:05:02.75ID:X+Es3zWJ0
echoの挙動も
2023/03/18(土) 23:45:37.32ID:TLTCLNyk0
dashはPOSIX準拠の最低限の機能しかないからdashを基準に……するのは、配列がないから辛すぎるんだよなあ
拡張機能使いまくってもbashとzshの両方で動くならまあいいでしょ。macOSだと特に
2023/05/18(木) 22:49:44.62ID:Zk9ca+gV0
macOSのターミナルでsshを使うだとか、UNIXとしてのコマンドについて学ぶのにいい本ってありますか?Linux標準教科書とかいいんでしょうか。
2023/05/19(金) 00:08:19.55ID:QFkDe4IC0
>>752
そんなに本の選択肢がなさそうだけど、「これから学ぶmacOSターミナル」という本は?

Linuxの本でもほぼいいけど、LinuxとmacOSで少し差がある。そういう差を自分で対応
できるかどうか(適宜ググるとか)。あとmacOS固有の部分をどれぐらい知りたいかとか
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が走っているのですね。邪魔くさい
これってログインシェルがどうたら... でしたっけ
2024/08/08(木) 17:49:28.18ID:fwhXw5jK0
loginは関係ないだろう
単にシェル(もしくはそこから起動された何かのプロセス)でワーキングディレクトリとして外付けディスクのどこかに居てっての普通(他にまさしく何かファイルを開いていたらもあるが)
ワーキングディレクトリを移動するか、そのシェル/プロセスが無くなればなんだが、ウィンドウを閉じてもか。まだなんかシェルプロセス(もしくはTerminal後の他のプロセス)が残ってたとかかな

プロセスのワーキングディレクトリは lsof でわかるよ
2024/08/08(木) 17:59:31.84ID:fwhXw5jK0
〜が使ってるからアンマウントできない/消すことできない って場合は、
sudo lsof -nP | grep '/Volumes/以下対象の'
で、大体はわかる。解決する
稀に引っかからないでどこで掴んでるねんって場合もある。Finder強制再起動したら解決したりする。それでもな場合も稀も稀にある
2024/08/16(金) 03:54:09.04ID:OQHvasuQ0
>>854
遅レスですみません、ちょっとわかったかもです。login関係「ある」

たまに新規タブで現在と同じディレクトリからスタートする新規シェルを起動するのだけど、
このときloginとzshが起動する。この後このタブ(シェル)内でcdしたときzshのcwdは変わるけど
loginは最初の場所に居続ける

で、「このlogin要るんかい」って思ったんですけど、要るのかな、と
2024/08/17(土) 02:55:55.47ID:4T2Y7LNq0
昔のUNIXみたいに、ログインシェルが起動してそこから子プロセスとして対話シェル等が起動、
みたいになってないですよね
2024/08/17(土) 03:19:05.56ID:3hM4DtMK0
UNIXではX環境へのログイン時にloginコマンドや~/.profileも実行されて仮想ターミナルではそれを引き継ぎますが
OSXではGUIログイン時には実行されず、ターミナルのタブごとにloginコマンドが動いたり~/.profileが実行されたりします
よく言われるbashの挙動の違いなんかもこれが原因
2024/08/17(土) 12:13:51.32ID:1AZ5xtUK0
>>856
"Terminal"だからな
loginで認証しloginが対話シェル起動しての手順は変わらない。単に認証しないってオプションでlogin起動してるだけな
Last login とか出てるでしょ、最初に

>新規タブで現在と同じディレクトリからスタートする新規シェル
どうやってやるのかわからんけど、そんなことできるならそりゃloginのwdはそうなるかもね
シェルが終了したらloginも終了するのが普通だから(*)、残るのが何か別の問題(おま環的な?)があるんだろうなとしか思えないな
*)見てみればわかるように、シェルを終了(exitとかcontrol-dとか)すれば、loginも消える、ウィンドウは残っていても

login要るか要らないかは、まあ要る/都合がいいんでしょとしか。そこに文句言ってもしょうがないような
2024/08/17(土) 12:19:39.82ID:1AZ5xtUK0
ちなみに。ちなみにでもないけどw、
シェルで*もう)何もしてないシェルしか動いてないのに、ウィンドウ閉じようとしたら まだなんか動いてるけどいいんか? 的なアラートが出るのがウザい(主に気分的に。終了と思ってるのに邪魔されるような)ので、俺はcontrol-d command-wするようにしてる
2024/08/17(土) 12:40:08.51ID:1AZ5xtUK0
>>857
どの昔のことなのかはわからんが、/etc/passwdが全権持っていた頃から、ログインシェルは対話シェル(/etc/passwdで指定された)で、loginがそのログインシェル=対話シェルを起動するだけじゃないの
862名称未設定
垢版 |
2024/08/17(土) 16:06:35.69ID:4AaANAdU0
シェルってコマンド実行環境ていう意味で?
自分以外のユーザのシェルは/usr/bin/passwdにしてある
2024/08/17(土) 16:56:12.13ID:Z2xTZ/Af0
PASSWD(5)
NOLOGIN(8)
864名称未設定
垢版 |
2024/08/23(金) 12:33:08.87ID:pa5QYZ5J0
2年くらいは
そのうちにそんな負けてへんやろ
どんだけ食って
2024/08/23(金) 13:20:27.72ID:1fa7rBVo0
体調を崩して
https://i.imgur.com/J1J1olS.jpeg
2024/08/23(金) 14:13:11.74ID:RXW3IivA0
食った量そのまま太るから
867名称未設定
垢版 |
2024/08/23(金) 14:47:58.12ID:pIIfaHgH0
ご来店いた
2024/09/30(月) 07:18:29.86ID:wY43CQZO0
/bin/bashを直接入れ替える方法ってあります?
拾ってきたスクリプトとかで/bin/bashを直接参照しているものがたまにあるけど
/bin/bashに非互換な部分があるようで & 上記のようなスクリプトを探してbashのパスを
書き換えるのが面倒なので

と思ったんですが、もしかして>>849さんの情報でいけちゃう?
2024/09/30(月) 09:58:14.32ID:WobHzjIA0
わざわざOSが弄りにくくしてる物を入れ替えようとか考えちゃダメよダメダメ
2024/09/30(月) 17:48:49.21ID:/TjkEmzr0
いいじゃないのぉ〜
2024/10/01(火) 08:49:17.53ID:dLrWAKRH0
>>868
拾ってきたスクリプトを書き換えれば?
2024/10/01(火) 10:06:01.54ID:oRwLDJa90
Sequoia に入っているbashは古いんだね。気づかなかった
2024/10/02(水) 21:46:42.19ID:F6kYb8qh0
ぶっちゃけUnix系はLinuxを中心に回っている感があり、彼らはGNUが前提のようで
macOSのBSD系と相入れない部分があったり
今日も、スクリプトを走らせたら「date の -d オプションなんて知らんがな」というのを見た
macOSユーザーとしてはどう対処していけばいいでしょうか
2024/10/02(水) 22:26:09.61ID:NqOuFu0O0
BSD系とGNUが相容れないんじゃなくてGPL3とAppleが相容れないんだ
気に入らないならhomebrewで好きなものを入れればいいだけ
2024/10/02(水) 22:41:49.23ID:ltdFY1yn0
規格準拠度はmacOSのほうが上というか、ストールマンはPOSIXなんてゴミだ勝手にやるという立場なので…
2024/10/04(金) 14:26:26.41ID:xcwvlzU30
brewでGNU系を少し入れてみたけど.... dateの場合、デフォはgdateという名前になり、dateコマンド
を置き換えるにはaliasかPATHで/opt/homebrew/opt/coreutils/libexec/gnubinを先頭に?
なんだかなー
インストール時に名前が「gなんちゃら」になるのとならないのは、どう違うのかな?
2024/10/04(金) 17:36:35.74ID:J7OX3XqN0
それこそ標準のコマンドを知らずのうちに置き換えて依存してるスクリプトの挙動等をおかしくしないための安全策だろ
もっと安全側に倒すとcurlとかkeg-onlyと言ってsymlinkすらされないものもある
必要なら各自がg抜いてln -sするなりaliasするなりすればよし
2024/10/27(日) 22:17:55.89ID:Dh0YQlFx0
/bin/shのecho(ビルトインのやつ)は-nオプションがないんですね
そういうものですか。地味に驚き
対話的なスクリプトで、改行しないメッセージを出したい時ってどうしてましたっけ
/bin/echoとするか、printfとか?
2024/10/27(日) 22:28:05.74ID:7ds91Div0
echoの非互換含めた諸々の問題を解決するためにできたのがprintfらしいのでprintfでいいのでは
2024/10/27(日) 22:31:27.12ID:lVMzdbpb0
manね(まぁね)
2024/10/31(木) 02:40:39.85ID:rk0uc8Bv0
おれが使ってたのはシェルのビルトインだったw
882名称未設定
垢版 |
2024/11/18(月) 15:37:00.99ID:cHVH3wR20
manの日本語化は無理ですかね?
環境︰macOS Sequoia 15.1 AppleSiliconマシン

古いマシンで古いOSの記事なら見るのですが
AppleSiliconマシンで日本語化したという記事は見かけませんでした
何かしらのアドバイスを頂けますと幸いです
2024/11/18(月) 18:17:29.61ID:KtDRBQoR0
コマンドによってはFreeBSDかLinuxから日本語ページをパクってくるにしても、全般的には無理だろー
誰も用意してねー気がする
884名称未設定
垢版 |
2024/11/18(月) 19:03:38.00ID:cHVH3wR20
やはり無理なので誰も試してないんですね。
スッキリしました。
2024/11/18(月) 22:48:09.67ID:z0x06XOd0
可能不可能でいえば/usr/share/man/ja/に日本語訳ぶちこめば日本語になるでしょ
誰もやらないというだけで、あなたがやってもいいのよ
886名称未設定
垢版 |
2024/11/19(火) 14:11:30.94ID:kNdgYdC50
WSL2 ubuntuで簡単に日本語化できるしbarrierでmacからも操作できるのでこれでいいです
2024/11/19(火) 18:32:56.50ID:9FPfAkLd0
何言ってんのか全然わからん
888名称未設定
垢版 |
2024/11/22(金) 00:26:06.72ID:wAitSfE80
10年以上前に配布してた人はいた(配布先のリンクはもうない)

OSX 10.6のmanコマンドを日本語化
https://qiita.com/suzuken/items/e9bbe1eb7de6a0cb690a
2024/11/22(金) 01:28:30.99ID:E1FgVR/P0
Linux(GNU)との区別は大事だよね
この前うっかりリナックサーの書いたスクリプトを実行したら
sedが変なバックアップファイルを作った
2024/11/22(金) 16:01:41.66ID:5+rSkJSu0
sedの-iオプションは毎回迷うし、POSIX的には未定義なんでどっちが正しいとかも無いから困るな
891名称未設定
垢版 |
2024/11/24(日) 08:32:06.74ID:i3XzJdYj0
psもいつのまにか-efになったなあと思ってman見たらTigerまではbsdだったのね
2024/11/26(火) 06:39:23.40ID:WMPJB+rp0
>>891
今もBSDではある
が、Single UNIX Specification を取得するためには必要な改変をしただけじゃね
POSIX(Single UNIX Specificationの規定もPOSIXベースだったはず)は最低限度の規定しかしてないんだから、BSDはPOSIX準拠をうたってはいない(?)が元のBSDが変えろとも言えるが、影響を考えたら変えないという選択肢が当然BSDにあっても不思議でもないしな
2024/11/26(火) 07:22:25.05ID:OMJJC+hC0
macOS の Apple Open Source が Appleのサイトから消えて、ちょっと探し回った。GitHubに移ったんだろなとは思って探してもなかなか掴めなかったw

https://raw.githubusercontent.com/apple-oss-distributions/adv_cmds/cdf02e0cae3e27f8dae7acab14d87daa962eda1f/ps/ps.c

* Copyright (c) 2004 - Garance Alistair Drosehn <[email protected]>.
* All rights reserved.
*
* Significant modifications made to bring `ps' options somewhat closer
* to the standard for `ps' as described in SingleUnixSpec-v3.

やっぱwだったね

多分Appleがかなり改変をしまくってると思う(このps.cは追ってないが、他のでそうだった)が、元のBSDのが古っw 元のBSDの進化具合とかは見てなく、このソース表記で判断しただけだが
2024/11/26(火) 14:05:15.29ID:gM+E+gt40
>>893
>多分Appleがかなり改変をしまくってると思う

は?

https://github.com/freebsd/freebsd-src/commit/a4c8a745a85b18d74de1d63ac7aa7508cb86cff9
2024/11/26(火) 16:00:58.12ID:6diwR5VH0
SUSv3に言及してるが、SUSv3に準拠はしてない修正だな
2024/11/26(火) 16:02:25.54ID:gM+E+gt40
というわけでそのコメント自体はFreeBSDで、somewhat closerと書いてあるように
そこまでSUSに寄ってない (significant modificationsをしたという割にはw)
ちなみにこのときにFreeBSDのpsに-Aオプションが追加されたが、FreeBSDのmanには
-Aは記載がなく、「隠しオプション」状態のようだw

>>893のDarwinのソースには if (u03) {} みたいなのが追加されてて、これがSUSv3/
UNIX 2003を意識した変更だと思われ、そしてそれはFreeBSDにはない

というわけで
>多分Appleがかなり改変をしまくってる
を一応検証してみました
2024/11/26(火) 16:04:38.43ID:KPrcD6980
言い訳草
2024/11/26(火) 16:32:51.38ID:gM+E+gt40
>>言い訳草
何も言い訳してない。間違いを正したのと興味で調べただけ
一番最後の方しか読めずにレスするタイプ?
2024/11/26(火) 16:46:12.00ID:gM+E+gt40
しかし、githubベースになって、変更の履歴が見やすくなったのはちょっとだけいいかな
上で書いたif (u03)という変更も実際Tigerの後、Leopardで入ったことがわかる
そしてFreeBSDのコードのベースが、ずっと変わっていないというのもわかるw
Darwinレイヤーにセキュリティのパッチが必要なこともあると思うのだが、こんな古いソース
のままメンテしてるのだろうか

あと、コミットのメッセージとタイムスタンプからするに、今までのtarballを一つずつ
インポートしただけのようで、コミット=その作業で残念ではある
本来のコード変更の時刻も、中の人のリアルなコミットメッセージも見れたりはしないw
2024/11/26(火) 17:11:39.59ID:zLHrQGAj0
>間違いを正した
だって
未だそんな姿勢だから言い訳しかしないわなって感じ
2024/11/26(火) 17:15:10.34ID:zLHrQGAj0
因みに、Darwinレイヤー ではない扱いぽいよ、Appleでは
Appleのサイトにあった頃から、macOS/iOSのオープンソース部分
Darwinプロジェクトには含まれてない、Darwinはマジ根幹部分
2024/11/26(火) 17:26:55.49ID:ZTbsYUrO0
あと、Darwinプロジェクトは紆余曲折があって、今はXNUが正式かな
まあ、元からDarwin,XNU共に正式名。使い分けがわからんかったがw uname でも Darwin だしどっちでもええんやだけどな
Darwinプロジェクトと書いて、プロジェクト/リポジトリ的には今はXNUが表立ってってのようてことで
2024/11/26(火) 18:00:33.10ID:aJcvrVKd0
横からだけど
ハイブリッドなんだから名称にこだわる必要ないと思う
904名称未設定
垢版 |
2024/11/26(火) 22:07:14.14ID:3HLv82U50
>>882
man日本語化する必要あるの?ChatGPTに聞くのでいいのじゃ?
2024/11/27(水) 13:59:19.17ID:cHojDlIe0
>>902
そうなんだ。Darwrin=UNIX部分、XNU=カーネルだったと思ったが

>>903
とりあえずシステムの分類名はいるよね。GNUのconfigureとか、バイナリツールとか
>>902にあるようにunameがDarwinと返すので、少なくとも対外的にはDarwinということに
2025/02/17(月) 03:47:15.80ID:UQ/wAHj10
sshのときにリモートでscreenを走らせてます
これでsshが勝手に切れてもセッションは残って回復できるのがいいのだが、
再接続時、画面の更新やスクロールがおかしくなる場合が多々
ちなみにローカル: ターミナル.appからssh リモート: なんかのLinuxでscreen

上記はターミナルのリセットをすれば一応直るのだが、以前にやったことを確認する
ために、できれば画面とかスクロールとかをクリアしたくない
あとscreenを再接続 (screen -r) したときデフォで画面をクリアする、これもいらない
というわけで、上記の状況で
- 画面の更新やスクロールを壊さないようにする
or
- 画面やスクロールをクリアしないようにscreenのセッションを再開する
方法はないかなと、どなたかご存じないでしょうか
2025/02/17(月) 16:34:10.46ID:rGinMIot0
.screenrcで termcapinfo xterm* ti@:te@ したら
2025/02/19(水) 13:48:20.69ID:bx65g5m/0
>>907
なるほどいい感じです、ありがとうございます
2025/04/30(水) 03:31:00.62ID:YhnBmV1E0
Finderから複数のアイテムをTerminalにドロップした場合、ファイル名にスペースなどが入っていたらエスケープして一つの文字列となるようにしてくれるんだが、
item\ 1 item\ 2
for などで文字列リテラルの場合はエスケープを認識してくれのだが、
for item in item\ 1 item\ 2; do echo "$item"; done
item 1
item 2
変数に入れるとエスケープ無効になるのが変な仕様
items='item\ 1 item\ 2'
#itemsは実際にはreadなどで取得
for item in $items; do echo "$item"; done
item\
1
item\
2
正規の仕様のようだが(エスケープではなく$が入ってる文字列の場合とかとか考えるとまあそうか)。文字列リテラルを用いるのと同じようにevalするしかないのか
items='item\ 1 item\ 2'
eval 'for item in '$items'; do echo "$item"; done'
item 1
item 2
2025/04/30(水) 04:42:17.67ID:8ciRTQOP0
一筆書きとはいかんね。$変数でposixパスは結構やっかい
awkも一捻り入れないと出力が空白にされる
2025/04/30(水) 19:45:28.57ID:YhnBmV1E0
だよなぁ
一つだと別に何も問題ないのに、コマンド引数として直接なら問題ない(=それしか考えてないか今ので目一杯か)のになぁ
ドロップした複数のを一つ一つ処理しようとして(使いたいコマンドが一つのファイルした対象にできない、とか、複数のフォルダを一つ一つ処理してそれ毎の統計を一つの処理後毎にとか)、必要毎に最後のを書くのがなんか嫌、普通のは別に嫌でないんだがw

で、とりあえず次のようなの書いた
2025/04/30(水) 19:50:20.98ID:YhnBmV1E0
dropsrun() {
local line
local i
while printf '\n>>> %s >>>\n' "$1"; read -r line
do
while read i
do
$2 "$i"
done < <(eval 'for i in '$line'; do echo "$i"; done')
done
}
2025/04/30(水) 20:01:21.48ID:YhnBmV1E0
第一引数がメッセージ、第二引数がやりたいコマンド

dropsrun 'Drop Here' 'ls -l'
ってすると、ドロップしたのを一つずつ ls -l する(意味ないがw)

実際には、
onebyonels() {
onebyonels_internal() {
echo "## $1"
ls -l "$1"
}

dropsrun 'Drop Here' onebyonels_internal
}
ていう使い方

(こういうのは rcファイルで関数としてのシェルコマンドとして使っていて、internal関数が事後に残るのが気持ち悪いので unset -f して消そう。そしたらtrap INTも必要、trap INTが既に実装したら〜とはまり>>912はなんかすごいことになったw楽しかったけど)
2025/05/01(木) 06:41:52.38ID:8Q7FmwJv0
そういうのをやりたくないからbashもzshも配列がある
posix準拠にこだわるなら仕方ないが…
2025/05/01(木) 15:16:28.98ID:7E8OTj8O0
言うほど変わらんやろ
916名称未設定
垢版 |
2025/06/03(火) 15:36:29.10ID:dWN/aTRf0
macos 15.5 Apple silicon
date (GNU coreutils) 9.7

.zshrc
alias date='date "+%Y年%m月%d日 %A %H時%M分%S秒"'

エラー-----------------------------------------------
date: extra operand ‘+%Y-%m-%d’
Try 'date --help' for more information.
---------------------------------------------------------

2025年06月03日 火曜日 15時15分48秒 (# 表示はされます)

どうしても、エラーの原因がつかめません
よろしくお願いします

コマンドをターミナルに直打ちするとエラーはでませんで正常表示されます
2025/06/03(火) 17:49:36.50ID:IQBsGyDR0
そもそもエイリアスの定義とエラーメッセージの引数が全く違うし
dateを実行したときに実際に何が動いてるか調べたら?

他の箇所でdateに別のエイリアスを割り当てている、dateという名のシェル関数が定義されてる等
2025/06/03(火) 18:23:02.24ID:wuQ/ftBG0
>>917
>そもそもエイリアスの定義とエラーメッセージの引数が全く違うし

エンコーディングの問題という可能性はあるかな
今日びデフォでUTF-8になってそうではあるが
919名称未設定
垢版 |
2025/06/04(水) 03:44:32.84ID:8iOFD4kd0
which dateするとなんて出るか気になった

あともし
alias Date='date "+%Y年%m月%d日 %A %H時%M分%S秒"'
だと問題ないなら
alias date='/bin/date "+%Y年%m月%d日 %A %H時%M分%S秒"'
みたいにフルパスにしてみるとか
920名称未設定
垢版 |
2025/06/04(水) 11:17:02.67ID:1yrRIOSO0
916です

which date → /opt/homebrew/opt/coreutils/libexec/gnubin/date

表示OK → alias Date="date '+%Y年%m月%d日%A%H時%M分%S秒'"
表示OK → alias Date="/bin/date '+%Y年%m月%d日%A%H時%M分%S秒'"
結論
aliasの デート を Date の ディーを D大文字にするとOKということでした。
(d小文字dateはエラーを吐く)
皆さんお知恵のほど、ありがとうございました。
2025/06/04(水) 11:55:24.65ID:PUd7XCMY0
再帰になるってことかな
2025/06/04(水) 12:03:10.01ID:Y3hKhxrh0
ただ単にzhsだから小文字大文字の区別が働いて変数かクラスか分かれただけでは?
case補完入れたら解決したやつも動かなくなりそう
923名称未設定
垢版 |
2025/06/09(月) 20:57:24.92ID:C+j95t7C0
どなたか
popでmailを読み出しているのですが
1年あるいは3年以上前のメールを削除することが
mail.appでは出来ない(1ヶ月以前は可能)のを
なんとか実行出来ないでしょうか
もう12年分メールが溜まっていて
古すぎるメールを削除したいのです
2025/06/10(火) 01:21:53.93ID:tVXaWJnv0
スレ違いかと思ったが、コマンドでというかtelnet(今はcurlか)なんとかか
POPで古いメールって...そもそもPOPの使い方が間違ってる。12年分??本当にPOPサーバーにあるの??
POP telnet でググればなんかいっぱいあるな
とりあえず
https://www.itbook.info/network/pop2.html
で必要なのが簡潔に書かれていそう
2025/06/10(火) 01:51:40.28ID:tVXaWJnv0
>telnet(今はcurlか)
は、curlをtelnetとして使うのだったが、curlがpopと会話できるのね(popに対応してんのねぇ)
https://uchy.me/blog/20240706005/
スクリプトで簡潔に書けるな
2025/06/10(火) 02:57:26.38ID:wT4CKdMZ0
認証はOAuthとかもなかったっけ。大概はPOP3Sなのかな
まサーバ次第ということで。基本curlでいけそうだが
2025/06/10(火) 11:56:12.32ID:tVXaWJnv0
SSL/TLSに対応してないメールサーバはなんか色々あったな
POPでは他に先にsmtpしとけとか
928名称未設定
垢版 |
2025/06/11(水) 05:35:54.09ID:8QXqZ2F60
>>924
ありがとうございます
すっかり忘れてしまってましたが
むかしtelnetでPOPにアクセスしてどうにかしたなと思い出しました
2026/05/03(日) 17:43:51.26ID:KOasgWz80
最近のmacOSってnroffとか無いみたいですね。manはあるのでroff系のコマンドも
どこかに入っていたりします?
2026/05/04(月) 11:24:38.77ID:HGn4aGUD0
https://opensource.apple.com/releases/ 見た感じ、Ventura 13以降は入ってなさそう
2026/05/04(月) 12:11:29.89ID:mfZM6Xq90
>>930
調べていただいてありがとうございます

どうも今はmandocというコマンドになっているようですね
manなんて古臭いものでもちょっとずつ変化していくようで

そもそもはLinuxあたりで作られたとあるコマンドの日本語のmanを入手して
「これってmacOS上でも読めるのかな?」と試そうと思ったのでした
それに関しては、とりあえず文字コードをUTF-8にしたら大丈夫っぽいです
2026/05/08(金) 22:43:24.60ID:+3kyJLnz0
改訂新版が出てたので買ってみた。
https://gihyo.jp/book/2026/978-4-297-15579-7
2026/05/12(火) 17:11:09.12ID:VvwOCfqC0
>>932
目次を見た限り、macOSに依存しない部分までこんなに書く必要あるんかなあと
一方でDockerとかGit等の項目もある。でも説明が浅そうで誰得の項目になりそうな予感
とはいえこれだけ網羅されてるのは価値があるかな
2026/05/13(水) 01:47:36.46ID:G2N7cIBE0
どうでもいい内容が多かった
古いLinux関係の著書は良いものがあったと思うが
これは冗長でお勧めしない
2026/05/13(水) 16:23:09.74ID:94fCYt2h0
ターミナルので設定でフォントがSF Monoになってるんだけど
このフォントってもしかしてターミナル以外では使えない(フォントのメニューに
出てこない)?
2026/05/13(水) 16:49:26.01ID:wqjFq0ne0
/System/Applications/Utilities/Terminal.app/Contents/Resources/Fontsに実体があるよ
2026/05/13(水) 20:37:46.61ID:WkuF5d4d0
>>935
SF Monoはここにもあるよ(Version 18.0d1e1)
https://developer.apple.com/fonts/
2026/05/15(金) 09:58:31.00ID:b7LmqKAA0
>>936 >>937 情報をありがとうございます。とりあえず>>937のフォントをインストール
したらどのアプリでも使えるようになりました

が、元の疑問は:ターミナルのテキストをコピーしてテキストエディット等に貼ると
Menloになります。まあSF Monoとどちらも固定幅フォントですが、微妙に
見た目が違い、個人的にはペースト後もSF Monoになって欲しいです

最初、コピペしたときMenloになるのはフォールバックしているのかな、と思った
んですが、SF Monoを別途インストールしたあとも、コピペするとMenloになります
2026/05/15(金) 12:21:38.22ID:EjgMZMCG0
ターミナルがコピー時に余計なことしてる疑い
コンソールからコピペしたらSF Monoになった
2026/05/15(金) 12:35:35.07ID:EjgMZMCG0
939
なんも意味ないことをやった感(恥
2026/05/15(金) 19:32:33.91ID:T+Q7HK/w0
https://github.com/chbrown/macos-pasteboard/blob/master/pbv.swift を使って
ターミナルでテキストをコピー、swift pbv.swift public.rtf とやったら\fonttblにMenloが
2026/05/17(日) 14:50:30.02ID:/5pKzzqP0
ターミナルに表示される、文字(罫線素片)で作られた表をテキストエディタに
コピペすると表がずれることがあります

罫線素片は英語のフォント(例 SF Mono)でも入っていて、長さ(文字幅)は
いわゆる半角、短い長さのデザインになっている
一方日本語のフォント(例 Osaka Mono)では全角で入っている
なのでどちらだと思って表が作られているかによるようですね
2026/05/18(月) 07:37:46.82ID:CJdYmQEh0
一つには、大昔に考えられた等幅・文字の全角・半角というものをUnicodeになって
いろんな言語・種類の文字が混ざるターミナルでどう維持していくのかという
2026/05/18(月) 17:44:24.35ID:IYzZd7j90
Unicodeの東アジア文字幅定義がいい加減で、小さい四角が全角なのにそれより大きい四角とされているものが半角になってたりするので
実態としてほぼすべてのフォントがそんなもん無視して勝手に文字幅付けてるんだよなあ
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

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