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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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/
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 <gad@FreeBSD.org>.
* 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にアクセスしてどうにかしたなと思い出しました
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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