[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 07/20 17:40 / Filesize : 182 KB / Number-of Response : 751
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

zsh その7



1 名前:名無しさん@お腹いっぱい。 [2012/05/24(木) 16:34:43.03 .net]
zshについて語るスレ

www.zsh.org/
zsh.sourceforge.net/

・過去ログ
zsh その6
toro.2ch.net/test/read.cgi/unix/1229010860/
zsh その5
pc11.2ch.net/test/read.cgi/unix/1212677877/
zsh その4
pc11.2ch.net/test/read.cgi/unix/1107342206/
zsh その3
pc5.2ch.net/test/read.cgi/unix/1080002786/
zsh入門 パート2
pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh入門
pc.2ch.net/test/read.cgi/unix/990283346/

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/03/30(土) 14:08:35.55 .net]
>>600,601
調べてくれてありがとう。Linux歴15年以上あるのに今頃知りましたよ
: $(( 〜 )) のスタイルにするしかないかー。面倒だ

ちなみにこんなwhile処理で発覚した。致命的なミスをする前に気づけてよかった

set -e
(( x = xmin ))
while : ; do
〜処理〜
(( x += dx ))
(( x > xmax )) && break
done

変数は全部浮動小数ね

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/04/18(木) 22:53:06.53 .net]
gitで
M ../a1.txt
M ../a2.txt
こんな風に親ディレクトリに変更ファイルがあるとき
git add <Tab>
で候補だしてくれないじゃん。
git add ../<Tab>
なら出るんだけど。これ出るようにできないかね?

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/04/21(日) 01:52:16.18 .net]
>>602
このスレは始めてきたので今更だが
普通は

x=$((xmin))
x=$((x+dx))
[ "$x" -gt "$xmax" ]

とかやろ?

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/04/22(月) 23:59:34.71 .net]
せっかくzsh使ってんのに-gtだの-leだのまどろっこしい書き方できるかよ

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/04/24(水) 00:30:15.21 .net]
だからそのせいでバグってるんだろw

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/05/12(日) 09:37:21.73 .net]
~/.zsh_historyファイルを読んで、コマンド実行の傾向を分析するkibanaのdashboardを作りました。
dockerで作らているので、非常に簡単に始められます。
もし良かったら使ってみてください。

https://github.com/codequokka/shell-history-analyzer

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/05/20(月) 19:48:20.77 .net]
lsのソートについて質問

ファイル名先頭の_が無視されるのか
hoge1 _hoge2 hoge3
となるのだけど
_hoge2 hoge1 hoge3
とするにはどうしたらいいの?

609 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/05/21(火) 06:05:49.21 .net]
env LC_COLLATE=C ls

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/05/21(火) 15:54:03.74 .net]
>>609
zshの問題じゃなかったんだ
失礼しました
ありかとう



611 名前:名無しさん@お腹いっぱい。 [2019/06/04(火) 15:35:52.59 .net]
新しい macOS のデフォルトシェルが zsh になるってよ!

612 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/04(火) 15:50:15.05 .net]
macOS 10.15 Catalinaではbashに代わりzshがデフォルトシェルに。
https://applech2.com/archives/20190604-zsh-as-the-default-shell-on-macos-10-15-catalina.html

613 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/04(火) 19:47:25.06 .net]
bashですら重いのに、更に重いzshにするのか・・・
誰が喜ぶんだ?

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/04(火) 20:29:47.36 .net]
Macのシェルなんて素人さんしか使わねぇよ
WSLと同じ
品質なんかどうでも良い

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/04(火) 21:16:25.72 .net]
GNUは嫌だ
でも今更cshも嫌だ
zsh

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/05(水) 02:28:28.14 .net]
zshは互換性が低いんだよな

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/05(水) 10:39:23.94 .net]
zshに関する日本語の記事が増えるなら嬉しい

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/05(水) 13:07:51.89 .net]
日本語のドキュメントなんて飽和してね?

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/06/09(日) 20:53:15.41 .net]
タブ補完で例えば、
cp oo/oo kk/kk の oo/から保管して
ppppを入力する場合、ooとppppの差分の2文字が上書きされるのですが、回避する方法はありますか?
上の場合だと
cp oo/ppppk/kk のような結果になります。

620 名前:名無しさん@お腹いっぱい。 [2019/07/25(木) 03:09:55.25 .net]
カレントシェルで文法チェックのためにdryrunしたい。
zsh -n $BUFFER で変数 BUFFER をチェックできるけど、
新しくシェルを立ち上げるから setopt がズレてるおそれがあり、
いまのシェルで $BUFFER が実行できることを保証できない。



621 名前:620 mailto:sage [2019/07/26(金) 01:38:11.16 .net]
たとえば ignore_close_braces がオンになっていると
args(){ echo $# } はパースエラーになる。

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/07/31(水) 19:38:44.01 .net]
そもそも dryrunである以上、$BUFFER が実行できることなんて保証できない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 12:54:23.45 .net]
>>622
なら zsh -n は何の役にたつの?
文法をチェックする… ただしパーザの挙動を変えるsetoptが起こる場合
結果は正しくない。起こるか否かも動的にしか判らないのだから、
静的に保証できるものは何もないのでは。

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 13:21:22.25 .net]
622はおそらく間違っている。
現在のオプションを参照するカレントシェルで動く文法チェッカがあれば、
$BUFFERの実行を伴わない文法チェックはできると思う。
setopt によるパーザの変更はひとつのコマンド行が終わった後に効くっぽいからだ。
二行のファイル
setopt ignore_close_braces
args(){ echo $# }
をsourceすると失敗するが、一行に結合してインタラクティブシェルから呼ぶと成功する。

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 14:05:18.91 .net]
>>623
> なら zsh -n は何の役にたつの?

構文チェックであり、実行時チェックではない。

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 14:14:42.30 .net]
args(){ echo $# }
は ignore_close_braces がオンであろうがオフであろうが
そのオプションとは無関係に正しい文法
だからzsh -nでチェックすると正しい文法として扱われる

args(){ echo $# } という関数定義命令を実行すると、
パースエラーという "実行時エラー" が出る

「パースエラーなんだから、実行時エラーじゃないやい!」なんて理屈は通じない。
evalで変なコードを実行したらパースエラーになるだろ
実行時パースエラーというのものが存在する

dry-runである以上、実行時パースエラーを見つけることは不可能
zsh -nは間違ってる文法を「間違ってる文法」だと保証してくれるが
「正しい文法」だとは保証していない

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 14:17:22.64 .net]
evalがある言語では ソースコードのパースも(一部は)実行時に行われる
dry-run=実行しない以上、実行時にしかわからないエラーを見つけられるわけがない。

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 14:19:19.08 .net]
ignore_close_braces オンで文法チェックしたいなら、
こうすればいいだけ

zsh -o ignore_close_braces -n

629 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 15:13:15.12 .net]
>>626
構文チェックだけして実行時パースはどうでもいいって状況があるのか?
ともあれ zsh -n の働きはわかった。構文チェック -> 実行時パース の順で通していくわけだね。
今回の俺の目標は$BUFFERの実行時パースって位置づけか。

>>628
サンクス、現在のコマンドラインの$BUFFERとその時点のオプションを渡せば目標は達成できるぜ。
実行なしでの文法チェックができた。
もちろん$BUFFER内のevalの引数まではチェックしないけど、そこまでは元々期待してない。

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 10:43:58.09 .net]
いやその理解はおかしい。構文チェックが二段階あるわけではない。
インタラクティブシェルでは実行時パースの単位はコマンド行の実行毎になるというだけ。
そのため$BUFFERのチェックに限っていえば、パースは一回なので、
途中でのパーザ変更は変数中に効果を発揮しない。故にドライランで構文チェックができる。

> args(){ echo $# }
> は ignore_close_braces がオンであろうがオフであろうが
> そのオプションとは無関係に正しい文法
ノー。zsh -o ignore_close_braces -n ... で判定するとエラーになる。zsh -n の機能は単に構文チェックするというだけ。
その例のようにパーサの変更がない区間での構文チェックで役にたつ。
アドバイスにおいて、レスをよく読まずに一般論でドヤ顔したり、相手の思考を妄想して叩くべきではない。



631 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 11:33:35.09 .net]
あとはこんなときとかに使えるね。

make(){
zparseopts -D -M -E -A opts -- n -just-print=n -dry-run=n -recon=n
if [[ $opts[(i)-n] ]];then
command make -f =(echo '.SHELLFLAGS := -n -c') "$@"
else
command make "$@"
fi
}

これは make の dryrun をシェルの dryrun に置き換える。スクリプトを表示するだけだったのが、文法もチェックするようになるよ。
$ make -f =(echo 'SHELL = zsh';echo 'hoo:; echo hoo)') -n
echo hoo)
zsh:1: parse error near `)'

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 13:35:05.17 .net]
>>630
> いやその理解はおかしい。構文チェックが二段階あるわけではない。

二段階あるんじゃないよ。

-nによる構文チェックは実行せずに静的な構文チェックを行う。
実行しないから実行したら文法エラーになるようなものを見逃す。

通常の実行時は静的な構文チェックは行わずに、実行しながら構文チェックを行う

二段階あるんじゃなくて、二種類あるんだよ。

633 名前:630 mailto:sage [2019/08/02(金) 13:54:57.79 .net]
>>632
同意。俺の理解と等しい。

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 14:01:37.54 .net]
んで、話は最初に戻る

そもそも dryrunである以上、$BUFFER が実行できることなんて保証できない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 14:32:46.44 .net]
ノー。$BUFFER 実行時の構文チェックは一回だから

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 15:29:13.61 .net]
>>635
何いってんの?

$BUFFERに入ってるのはただのファイル名なんだけど?
zsh -n $BUFFER

構文チェックに通ったからと言って、実行したときに構文エラーが出ないとは限らない
なぜなら、zsh -nは実行したときの構文チェックとは別物だから。

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/02(金) 16:04:43.33 .net]
>>636
いや、man zshzle に書いてあるが zsh の変数 $BUFFER は
エディットバッファの中身を格納している。この値は zle のウィジェットから取得できるんだ。
コマンドラインに例えば echo hoo と入力して実行すると BUFFER='echo hoo' になる。
ウィジェットは自作もできて、好きなキーに bindkey 命令で紐づけて呼べる。

読み返して気付いたんだが、620 は書き間違いで
zsh -n -c $BUFFER
が正しい。

zsh スレだから当然BUFFERくらい知ってるよなと思っていて、会話が繋がっていったので疑いもしなかったんだが
これは完全に俺が悪いです。ごめんなさい。

638 名前:名無しさん@お腹いっぱい。 [2019/08/04(日) 07:19:57.29 .net]
source ~/.zshrc を打とうとして source ~/.zsh_history を実行してしまった悲劇が話題になってた
これどう対策する?

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 07:28:41.73 .net]
>>638
具体的に何が問題なの?

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 08:14:57.90 .net]
https://qiita.com/stilo/items/90f6c6e308c85a4a9460

~/.zshrc を実行するつもりがタブ補完などをスリップしてしまい .zsh_history を実行していまう。
するとヒストリファイル($HISTFILE == .zsh_history)に書かれた過去に実行したコマンドが、順番に source コマンドによって読み込まれて実行される。
記事で紹介されている事故では途中で止められる機会があったから良いものの、運が悪ければ不可逆的・破壊的コマンドが走り重要な情報を含んでるかもしれない現環境がズタズタになる。



641 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 09:04:01.96 .net]
ヒストリ先頭に予め終了命令を入れておくという技をtwitterでみた。

手作業だと忘れそうなので、.zshrc にこういうのを書いておけばいいかな。
< $HISTFILE | { mv $HISTFILE{,.bak}; sed '1{/return 1/!i\
echo '"'"'Cannot source `'$HISTFILE'`, Abort.'"'"' >&2;return 1
;}' > $HISTFILE ;} && rm $HISTFILE.bak

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 09:05:51.31 .net]
>>640
リンク先読んでないけど、それコマンド確認しないでEnter押しちゃ何だってトラブルの元だよね
補完offにしとくか、HISTSIZEを2-3ぐらいにしとけば
設定ファイル編集した後に読み込むならsource !$<tab>でもいいんだし

643 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 09:15:19.48 .net]
誰しも失敗はあるし、フェイルセーフはやっぱほしいよ。
>>642
> 補完offにしとくか、HISTSIZEを2-3ぐらいにしとけば
それだと普段の作業がちょっと不便では。

>>641
は毎回mv,sedとかが走るのはパフォーマンス的にどうなんだ
HISTFILE=~/my_history みたいに換えとくのが単純でいいか。

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 09:25:34.17 .net]
>>642
ヒストリ展開は便利だけど、ファイル編集した後なんか適当なコマンドを思いつきで打ってしまうとやりにくい。

>>643
いやこのためだけに、$HISTFILEをファンシーな名前にするのはなんだか環境が汚れた感じがする。

645 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 11:29:09.41 .net]
これで行けるわ
zstyle ':completion:*' ignored-patterns '.zsh_history'
.zshrc あたりに追加すればいい

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 12:10:26.35 .net]
書き直した。ヒストリのバックアップは別でやるべきだわ
function ensure-file-head(){
[[ $(< $1 | read -re) == $2 ]] && return
< =(print -r -- $2;< $1) > $1
} # ensure preventing `source .zsh_history`.
ensure-file-head $HISTFILE 'echo '"'"'Cannot source `'$HISTFILE'`, Abort.'"'"' >&2;return 1'

ファイル直接編集を避けるためにヒストリ関連の組み込み命令 fc -R, -W とかを使ってやる方法も考えてみたが、オプションの具合によってはファイルに追記しかしないし、デフォルトでは詳細なタイムスタンプがつかなかったりするので、
「この指定はsetopt 〜 の後で行う必要がある」のような条件がついて美味しくない。

>>645
補完よく知らないのだが、そっちに手を入れるほうが良さそうだね。
試してみたところその指定では tail .zsh_history のようなものも弾かれてしまわない?
source だけに限定するのは難しいだろうか

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 12:18:01.65 .net]
>>646
historyとどう違うの

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 12:52:07.02 .net]
>>647
fc のこと? history == fc -l で、リストアップに限定したコマンド。

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 13:01:33.64 .net]
問題の対策は他にもEnterキーのアクションである accept-line ウィジェットを置き換えるとか、
コマンドライン実行前に呼ばれる preexecフックとかで止める方法がある。後者は記事のブックマークコメントの先で紹介されてた。
でも言われてた通り機構をあらたに作る必要があって煩雑になるし、その辺は元々弄りたい需要が多すぎるのでただでさえゴチャついてるところに手を入れがたい。

インタラクティブシェルだけ source を関数で置き換える方針はどうだろう。
.zsh_historyが引数のときだけ実行を警告するように。これも軽い修正になってよさそうじゃないかな

650 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 13:50:19.73 .net]
source ~/.zshrcはエイリアスに入れてるわ
これで誤爆の心配もないね!



651 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 13:56:32.83 .net]
>>650
エイリアスは忘れちゃわない?

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 14:02:16.19 .net]
>>648
いや history じゃなくてわざわざ tail .zsh_history を使うのってどういう時なの?
何にせよ .zsh_history を開きたいときは command $HISTFILE<tab> でもいいと思うけど

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 14:09:43.14 .net]
>>651
確かに忘れるけど、セーフティ的な意味なら充分役立ってくれるかなと思って……

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 14:15:12.35 .net]
>>652
ヒストリ関連のオプションをいじってたとき、内部ヒストリがファイルに保存されているかを確認するために tail .zsh_history と history を見比べてた。
テンポラリのヒストリファイルを複数作って実験していたので、tail $HISTFILE はその用途では使いにくい。

このような需要はあまりないとは思うけど、補完を絞る方法がもしあるならモアベターだと思うんだ。

>>651
ひょっとしてサフィックスエイリアスかな? それはよさそう
$ alias -s zshrc=source
$ ~/.zshrc
(source ~/.zshrc が行われる…)

655 名前:651 mailto:sage [2019/08/04(日) 14:17:15.29 .net]
>>653 なるほど

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 18:43:47.12 .net]
HISTFILE=~/.zsh/history_zsh

って感じで場所と名前変えてる

657 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/04(日) 20:08:58.07 .net]
ZSHを使わない

658 名前:名無しさん@お腹いっぱい。 [2019/08/18(日) 23:52:53.56 .net]
zshクソ。誰もが使いそうな変数名を特殊扱いすんな

statusとかpathとかsecondsとか

659 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/19(月) 00:28:59.18 .net]
parametersとoptionsもあった

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/10/19(土) 20:04:44.61 .net]
遅レスですまないけど、.zhistoryって行頭が:になってるからsourceしてもスルーするんじゃないの?
:って何もしないって機能だよね



661 名前: mailto:sage [2019/10/20(日) 18:48:22 .net]
EXTENDED_HISTORY <C>
Save each command's beginning timestamp (in seconds since the epoch) and the duration (in seconds) to the history file. The for‐
mat of this prefixed data is:
`: <beginning time>:<elapsed seconds>;<command>'.

: ... : ... ; rm -rf /

いかんでしょw

662 名前:名無しさん@お腹いっぱい。 [2019/10/22(火) 13:36:40.23 .net]
>>660
> :って何もしないって機能だよね

なにも "出力しない" 機能であって何もしない機能ではない。
: $(touch /tmp/ttttt)
は実際にファイルを作成する。コメントの代わりには使えない。


そもそも>>661が言ってる通り、;で区切られてるから動く

663 名前:名無しさん@お腹いっぱい。 [2019/10/22(火) 13:37:43.51 .net]
まあ、: コマンド自体が何もしないってのはそのとおりだけど
一行全体で見ると、引数部分を実行するという話

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/10/23(水) 06:15:25.06 .net]
:はなにもしないし引数をすべて無視するけどシェルが:の引数と解釈しなかった部分が実行される
よって;とか&&とか$()とか<()とかいろいろ実行される

665 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/10/26(土) 21:27:09.03 .net]
: を使うシーンって何?
意味は知ってたが使ったことない

666 名前:名無しさん@お腹いっぱい。 [2019/10/26(土) 22:13:29.87 .net]
>>665
変数の代入と停止の無効化

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/10/26(土) 22:58:50.57 .net]
>>665
trueの代わり

668 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/10/26(土) 23:55:09.51 .net]
>>665
ファイルサイズを0にする

669 名前:665 mailto:sage [2019/10/27(日) 00:54:52.87 .net]
そういや普通にwhile : ;do〜みたいに手癖で使ってたわ
あと昔書いてたシェルスクリプトでも冒頭でset -eを設定しておきつつ
エラーで止まってほしくない箇所で : を使ってた
てかzsh関係ないですねすんません

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/11/10(日) 00:49:14.12 .net]
zshが馴染みすぎるとbash、それも素の設定を使わざるを得ない状況になるとストレスがすごいよね
鯖缶の方とかそういうシチュエーション多そうだけどどうやって折り合いつけてるんだろう



671 名前:名無しさん@お腹いっぱい。 [2019/11/10(日) 15:56:08.74 .net]
>>670
zshは基本入ってないんで、bashに戻りつつあるw

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/11/10(日) 23:38:07.15 .net]
自作のZpluginプラグインのほぼ全てが壊れたまま運用していて、
むしろスッピンより不便なはずだが、何も感じなくなってしまった
インタラクティブ環境は、慣れやすいものなのかも

673 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/11/13(水) 00:02:51.13 .net]
Macのデフォルトシェル採用って結構影響でかいような
問題なければ追従するUnixやLinuxの鳥も出てくるじゃないかと

674 名前:名無しさん@お腹いっぱい。 [2019/11/13(水) 03:58:48.06 .net]
それはないなー
bashとの互換性がね。shwordsplit、あれが最悪だね。
理屈はわかるんだけどね。互換性の点から見れば最悪。
うん。互換モードはあるよ。でもデフォルトじゃないんで代替にできない。
そこまでして変える必要性がない。

675 名前:名無しさん@お腹いっぱい。 [2019/11/13(水) 04:02:15.99 .net]
そもそもさ、みんな潔癖だからね。POSIX準拠。そっち優先。
debianとかubuntuは bashよりも機能が低いdashとかにしようとしてるぐらい

ログインシェルはまあ自由に使っとくれって感じだろうけど
デフォルトシェルはPOSIX準拠。これ一択なんでzshにはならんよ
遅いしね。

676 名前:名無しさん@お腹いっぱい。 [2019/11/13(水) 04:03:39.70 .net]
Macのログインシェルは、はたから見ると、あぁ可哀想
bashのライセンスが受け入れられなかったから
消去法でzshなんだね。ぐらいにしか思ってない。
zshを選びたくて選んだなんて誰も思ってないんだよ。

677 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/11/14(木) 17:48:54.18 .net]
zshで何も困らない
強いて言うならQiitaとかのzsh初めて使った人の記事が初心者すぎて目障りなくらいw

678 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/11/16(土) 03:47:19 .net]
Macユーザのウザさ、もとい声のデカさを信じようじゃないか

679 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/05/01(金) 03:17:08.65 .net]
plugin managerをzinitに変えたら起動が爆速になった
オススメ

680 名前:名無しさん@お腹いっぱい。 [2020/05/03(日) 05:08:47.72 .net]
単なる興味なんですがzshの2系より前って手に入らないですかね?



681 名前:名無しさん@お腹いっぱい。 [2020/05/03(日) 05:09:03.16 .net]
2系を含みます

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/05/03(日) 08:13:07.84 .net]
zshの2系、やっと見つかりました。
https://web.archive.org/web/19990828203220/www.cs.elte.hu/pub/zsh/old/?919318967

683 名前:名無しさん@お腹いっぱい。 [2020/05/05(火) 22:51:09 .net]
zshにBASH_ENVに相当する機能はありますか?
つまりzshでシェルスクリプトを非対話型で実行した時に
任意の処理を先立って実行したいのです。

684 名前:名無しさん@お腹いっぱい。 [2020/05/06(水) 07:12:37 .net]
>>683
~/.zshenv かな
zsh.sourceforge.net/Doc/Release/Files.html

スクリプト実行時に限らず対話シェル起動時にも読まれるけど
INTERACTIVEオプションの状態をチェックするifで括ればよさそう

if [[ ! -o INTERACTIVE ]]; then
echo non-interactive
fi

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/05/06(水) 08:45:36 .net]
>>684
ありがとうございます
既存の ~/zshenvは修正できないという制約があるのでINTERACTIVEの
チェックは出来ませんが、ZDOTDIRを書き換えればなんとかなりそうなきがします

つまりBASH_ENVをセットして起動の代わりに
/tmp以下に一時的にファイルを作ってZDOTDIRをセットして実行
初期化処理の中で一時ファイルを削除したりZDOTDIRを元に戻したりとかです

686 名前:名無しさん@お腹いっぱい。 [2020/05/10(日) 02:59:44.09 .net]
10より大きいファイルディスクリプタを使うにはどうすればいいの?

687 名前:名無しさん@お腹いっぱい。 [2020/05/10(日) 03:14:41.32 .net]
事後怪傑しました!

688 名前:名無しさん@お腹いっぱい。 [2020/06/09(火) 19:06:54.37 .net]
あー、もうやだ、クソzsh。なんでこんなこともできねーんだよクソ
しかも5.5?ぐらいから挙動変わってるし、バグなんかこれ
changelogみてもなにもわからねーしー、どうすればちゃんと取得できるんだよ

689 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/06/09(火) 21:59:20.23 .net]
クソなレス

690 名前:名無しさん@お腹いっぱい。 [2020/06/09(火) 22:18:51.92 .net]
うるせーばーか、こっちはzshがクソで困ってるんだ
bashの方がいいな



691 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/06/10(水) 01:10:37.06 .net]
好きなの使えよ

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/06/10(水) 06:47:54.01 .net]
何がやりたいのかさっぱりなうんこだな

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/06/16(火) 00:13:26.25 .net]
zshは機能が多すぎて覚えられない
お勧め設定をAI的に徐々に教えてくれたらいいのに
「そのやり方、こんなふうにもできますよ?次回からこうします?」って

694 名前:名無しさん@お腹いっぱい。 [2020/06/28(日) 06:13:09 .net]
fishどう?

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/06/28(日) 08:33:56.89 .net]
色付きとか好きじゃないので俺はあんまり

696 名前:名無しさん@お腹いっぱい。 [2020/06/28(日) 08:56:18.58 .net]
互換性を切り捨ててるものは結局デフォルトになることはないしね
zshも互換性が完璧とは言えないから驚かれたぐらい
bashがライセンス上の都合で選択できない以上どうしようもなかったんだろうが

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/02(木) 16:31:10.99 .net]
Gay fish YO!

698 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/07(火) 04:27:47.52 .net]
下記はとある本にのってる zsh のプロンプトの設定なんですが、一番右の % はなんなのでしょうか?
いらない気がするのですが? 誤植?

# プロンプトの右はじに、false なら終了ステータスを表示。
RPS1="%(?..(%?%))"

699 名前:名無しさん@お腹いっぱい。 [2020/07/07(火) 06:07:17 .net]
>>698
%( に対応する閉じ括弧だと解釈されるのを防ぐエスケープ

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/07(火) 15:42:07.86 .net]
ksh にすればいいのに()



701 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/07(火) 20:58:59.88 .net]
Mortal Shell のオープンβテスト開始!
zsh から乗り換えよう!

https://news.yahoo.co.jp/articles/5742b9e2bf4c61014a5788631b1c98de8a886eb0

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/07(火) 22:09:19.90 .net]
>>700
kshはメンテも終わった終わったシェルだから

703 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/08(水) 00:17:05.82 .net]
>>702
KornShell 2020 - Impossible Happens!
situ.im/posts/kornshell-2020-impossible-happens

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/08(水) 00:49:54.46 .net]
>>703
AT&Tがそれを全て取り消して93u+をベースに最初からやり直し、だがそれも頓挫かな
ksh2020はkshの派生の別物扱い。zshもksh(tchs)の派生だから兄弟のようなもんかw

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/08(水) 00:51:09.23 .net]
>>704
zshはコード自体は全く別物だったか。フォークという派生とはちょっと違うか

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/08(水) 16:15:54.16 .net]
command.com 最強!

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/08(水) 17:28:21.63 .net]
最凶
最凶と呼べるほどにもない全然 使えない おもちゃか

708 名前:名無しさん@お腹いっぱい。 [2020/07/09(木) 15:06:08.46 .net]
パッケージ: ksh (2020.0.0+really93u+20120801-6)
https://packages.debian.org/bullseye/ksh

これはksh2020なのか93uなのか

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/07/09(木) 15:12:23.68 .net]
Debian offers ksh2020[20] in its testing version.[21]

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/10/14(水) 06:23:19.65 .net]
ksh2020は完全に放棄されてんな
ASTからバグフィックスのためだけにフォークしたおじいちゃんが一番地道に現在活動的



711 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/11/04(水) 19:33:06.67 .net]
これなんなの?
https://github.com/ksh2020/ksh

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/11/05(木) 00:19:08.19 .net]
>>711
>>704

AT&Tからフォークしてあくまでもメンテナンスだけを現在熱心にやってるのは
https://github.com/ksh93/ksh
かな。それの冒頭に>>711のことも書いてる

713 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/11/05(木) 08:03:32.52 .net]
一体いくつあるんだよw
オリジナルはまあいいとして
そこからの派生

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/11/05(木) 13:49:41.45 .net]
オリジナル : 頓挫、終了
オリジナルのちゃんとしたメンテ : 無い、まだ無い
色々やった 2000 : 頓挫
地道に一人で : 地道に継続中
だけだよ。てか、いい加減過疎ってる ksh スレに行けよw zshなんも関係ないぞ

715 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/11/05(木) 13:52:24.25 .net]
色々やった 2020


716 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/12/09(水) 09:17:20.05 .net]
https://i.imgur.com/BWhdsXV.jpg

717 名前:名無しさん@お腹いっぱい。 [2020/12/11(金) 13:03:32.87 .net]
>>478
oh my zshとかGrmlの話題もまったくなく何話してたんだここ

>>479
使ってないわけないんだが
何故かこんなのしかいなかったからこのざまだったんだろうな

718 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/12/11(金) 15:05:10.75 .net]
zshで拡張した部分を使えば便利だが、zshしか使えない体になってしまうからなw

719 名前:名無しさん@お腹いっぱい。 [2021/01/03(日) 01:20:30.63 .net]
MacでCUIアプリをダブルクリックした際の挙動と、
インタラクティブシェルで起動した際の挙動を変えたいのだけれどフラグとなる
環境変数がなになのかわからん。

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/03(日) 04:34:42.56 .net]
どちらかで変わるわけ無いやろ



721 名前:名無しさん@お腹いっぱい。 [2021/01/03(日) 19:34:32.29 .net]
>>720
やっぱりそうですかわかりました。

722 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/05(火) 10:19:41.81 .net]
bashしか使ったことなかったけど
Macがzshなものでドキュメントみてたけど
ページ量多すぎだろ

723 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/05(火) 10:50:40.81 .net]
機能が豊富ですから
機能が豊富なzsh固有のに慣れてしまうと他が使えない体質になりそうで使わないけどw

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/10(日) 11:20:57.77 .net]
誰もいない海だ

725 名前:名無しさん@お腹いっぱい。 [2021/01/24(日) 12:55:43.62 .net]
ここzshの本スレですか?随分人いないですね。
どこか別にコミュニティあるんですか?

726 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/25(月) 16:57:13.71 .net]
>>717
今だとzinitがホットかな
でもまぁフレームワークなんて流行り廃りがあるのだし、ライトユーザが無理に使う必要もないよね

727 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/25(月) 18:29:50.97 .net]
oh my zshとかzinitってなんのために使うんだろう?
プロンプト決めるだけでしょ?

728 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/01/30(土) 13:28:04.12 .net]
一通り環境作り上げて不満なくなると更新とか動向全くチェックしなくなってしまう
せめて数年に一度は見直さないといかんわな
この腰の重さは老化のバロメータか

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/30(火) 01:24:21.91 .net]
人が書いたやつはちゃんと追いかけておかないといつまにか別物になってる可能性があるな

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/07/06(火) 23:56:33.91 .net]
もう一年も更新ねーじゃん
ついにオワコンかzsh



731 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/07/07(水) 06:04:31.45 .net]
お前のようにここに書くようなネタが無いだけ
使ってるヤツはそれなりにいる
5chだけが世界の全てのお前にはわからんだろうけど

732 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/07/07(水) 06:13:11.87 .net]
zshのそのものの更新が一年無いって話か
それでオワコンだって言ってるのか
それもまたあたおかな発想だな

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/07/08(木) 03:40:04.43 .net]
unix板らしからぬ脊髄反射w

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/08/11(水) 01:59:23.33 .net]
https://news.mynavi.jp/itsearch/series/devsoft/powershell_core_-.html

これ見ながらpowershellを普段のzshのようにしようかと企んだけど途中でアホ臭くなってやめた
ちっとも好きになれんわpowershell

735 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/08/29(日) 19:58:48.95 .net]
普段のユーザとしては zsh と (pd)ksh しか使ってない。
tcsh から乗り換えて zsh はもう17年だよ…
そろそろ bash 勉強しなきゃダメかな…

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/12/19(日) 14:28:58.73 .net]
zsh を Mac のデフォルトシェルとして使う
https://support.apple.com/ja-jp/HT208050
macOS Catalina から、Mac は zsh をデフォルトのログインシェルおよびインタラクティブシェルとして使うようになります。
それ以前のバージョンの macOS でも、zsh をデフォルトにすることができます。

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/03/26(土) 01:00:13.42 .net]
https://i.imgur.com/Dnu4o4L.jpg

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/04/14(木) 10:56:14 .net]
ZLE使えばコマンドライン入力を編集できますが、
ZLEウィジェットとして登録した関数を直接呼び出して zle を呼び出すとエラーが発生します。
外部からコマンドラインを編集する方法はないのでしょうか?

739 名前:名無しさん@お腹いっぱい。 [2022/06/14(火) 14:22:28.69 .net]
UNIXシェルの並列化により最大34倍高速化する「PaSh」
https://www.itmedia.co.jp/news/spv/2206/14/news050.html

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2022/07/12(火) 17:18:44.41 .net]
pashなんてあるのか
いい感じならzshもパクってくれ



741 名前:名無しさん@お腹いっぱい。 mailto:sage [2023/05/14(日) 13:48:22.62 .net]
どうでもいい

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/01/13(土) 01:06:11.34 .net]
psprint死んだらしいな
Rest in Hell

743 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 19:33:41.03 .net]
あれは歯が合わなくても保険等級が下に力が入ったのに
そういう
本当にアンチだと思われたいんだろうな
ハムはなんで今更貼るの?
今買えの馬鹿も何もしないかぎり騒がんだろうな

744 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 21:05:18.12 .net]
リバウンドせずに大風呂敷広げるからこんなもんでもないままだろうね。
「もう少し待っといて昔の人気漫画だから若い子は食いつかないもんなの
求めないから実質ずっと雨なんだが
やってることは結局すぐダメになると思うが

745 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 21:42:33.04 .net]
キチガイ荒らしてるって事だ
そういう訳では

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/03/30(土) 23:36:02.54 .net]
zshの生成AI系サジェストってないの?
そろそろ出てきていいように思う

747 名前:名無しさん@お腹いっぱい。 [2025/02/18(火) 00:39:33.59 .net]
zshのshell scriptなんですけど

fn() {
arg1=$1
echo $arg1
}

hoge='abc 123'
t=$(fn $hoge)
echo $#t

2
となるんだけど
どうも半角スペースで分解されてる
半角スペースをエスケープする方法教えて
もう涙目

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2025/02/18(火) 02:02:22.21 .net]
$( )全体をダブルクオートでくくる

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2025/02/18(火) 02:53:28.36 .net]
いやまてzshは括らなくても分割されないはず、と手元で>>747を実行したら2ではなく7になったぞ?

750 名前:名無しさん@お腹いっぱい。 [2025/03/19(水) 09:57:06.64 ID:LDQ16VarS]
医療費総額36兆圓た゛そうて゛数千圓て゛人類史上最悪の人権侵害テ囗に加担て゛きるほど余裕綽々で暴利を得てるクソ航空テ□リストに余裕で
支払わせることか゛可能な額た゛わな莫大な温室効果カ゛スまき散らして気候変動、海水温上昇させて土砂崩れ.洪水、大雪.熱中症にと災害連発
させて人殺しまくってヱネルギ━に水産物に農作物にと高騰させてウイルスに騷音にとまき散らして海に囲まれた日本て゛四六時中わざわさ゛
陸域飛ばしまくって閑静な住宅地まで轟音まき散らして睡眠妨害してス├レス増大させて免疫カ低下させて病人増やして國民の生命財産を
強奪して私腹を肥やす強盜殺人テ口に━回加担するのに安くて数十萬かかる社會にすることて゛解決するとか極めて合理的た゛ろ
しかもどこに転居しようが回避不可能な航空騒音によって静音か゛生命線の知的産業が根絶やしにされて国際竸争カ壞滅させられて
アプリと゛ころかサヰトすら自カて゛作れず裏でグ─グルやらに依存して個人情報たれ流してたりこんなポンコツと゛もか゛サイバ‐セキュリティに
予算た゛のボケに誰か突っ込んでやれよって国会の茶番劇まずはぶっ壊れてるドアと頭と゛うにかすること覚えろや
(ref.) ttps://www.call4.jp/info.php?type=items&id=I0000062
ttps://haneda-project.jimdofree.com/ , ttps://flight-route.com/
ttps://n-souonhigaisosyoudan.amebaownd.com/








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<182KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef