zshについて語るスレ
http://www.zsh.org/
http://zsh.sourceforge.net/
・過去ログ
zsh その6
http://toro.2ch.net/test/read.cgi/unix/1229010860/
zsh その5
http://pc11.2ch.net/test/read.cgi/unix/1212677877/
zsh その4
http://pc11.2ch.net/test/read.cgi/unix/1107342206/
zsh その3
http://pc5.2ch.net/test/read.cgi/unix/1080002786/
zsh入門 パート2
http://pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh入門
http://pc.2ch.net/test/read.cgi/unix/990283346/
zsh その7
1名無しさん@お腹いっぱい。
2012/05/24(木) 16:34:43.032019/04/18(木) 22:53:06.53
gitで
M ../a1.txt
M ../a2.txt
こんな風に親ディレクトリに変更ファイルがあるとき
git add <Tab>
で候補だしてくれないじゃん。
git add ../<Tab>
なら出るんだけど。これ出るようにできないかね?
M ../a1.txt
M ../a2.txt
こんな風に親ディレクトリに変更ファイルがあるとき
git add <Tab>
で候補だしてくれないじゃん。
git add ../<Tab>
なら出るんだけど。これ出るようにできないかね?
2019/04/21(日) 01:52:16.18
2019/04/22(月) 23:59:34.71
せっかくzsh使ってんのに-gtだの-leだのまどろっこしい書き方できるかよ
2019/04/24(水) 00:30:15.21
だからそのせいでバグってるんだろw
2019/05/12(日) 09:37:21.73
~/.zsh_historyファイルを読んで、コマンド実行の傾向を分析するkibanaのdashboardを作りました。
dockerで作らているので、非常に簡単に始められます。
もし良かったら使ってみてください。
https://github.com/codequokka/shell-history-analyzer
dockerで作らているので、非常に簡単に始められます。
もし良かったら使ってみてください。
https://github.com/codequokka/shell-history-analyzer
2019/05/20(月) 19:48:20.77
lsのソートについて質問
ファイル名先頭の_が無視されるのか
hoge1 _hoge2 hoge3
となるのだけど
_hoge2 hoge1 hoge3
とするにはどうしたらいいの?
ファイル名先頭の_が無視されるのか
hoge1 _hoge2 hoge3
となるのだけど
_hoge2 hoge1 hoge3
とするにはどうしたらいいの?
2019/05/21(火) 06:05:49.21
env LC_COLLATE=C ls
2019/05/21(火) 15:54:03.74
611名無しさん@お腹いっぱい。
2019/06/04(火) 15:35:52.59 新しい macOS のデフォルトシェルが zsh になるってよ!
2019/06/04(火) 15:50:15.05
macOS 10.15 Catalinaではbashに代わりzshがデフォルトシェルに。
https://applech2.com/archives/20190604-zsh-as-the-default-shell-on-macos-10-15-catalina.html
https://applech2.com/archives/20190604-zsh-as-the-default-shell-on-macos-10-15-catalina.html
2019/06/04(火) 19:47:25.06
bashですら重いのに、更に重いzshにするのか・・・
誰が喜ぶんだ?
誰が喜ぶんだ?
2019/06/04(火) 20:29:47.36
Macのシェルなんて素人さんしか使わねぇよ
WSLと同じ
品質なんかどうでも良い
WSLと同じ
品質なんかどうでも良い
2019/06/04(火) 21:16:25.72
GNUは嫌だ
でも今更cshも嫌だ
zsh
でも今更cshも嫌だ
zsh
2019/06/05(水) 02:28:28.14
zshは互換性が低いんだよな
2019/06/05(水) 10:39:23.94
zshに関する日本語の記事が増えるなら嬉しい
2019/06/05(水) 13:07:51.89
日本語のドキュメントなんて飽和してね?
2019/06/09(日) 20:53:15.41
タブ補完で例えば、
cp oo/oo kk/kk の oo/から保管して
ppppを入力する場合、ooとppppの差分の2文字が上書きされるのですが、回避する方法はありますか?
上の場合だと
cp oo/ppppk/kk のような結果になります。
cp oo/oo kk/kk の oo/から保管して
ppppを入力する場合、ooとppppの差分の2文字が上書きされるのですが、回避する方法はありますか?
上の場合だと
cp oo/ppppk/kk のような結果になります。
620名無しさん@お腹いっぱい。
2019/07/25(木) 03:09:55.25 カレントシェルで文法チェックのためにdryrunしたい。
zsh -n $BUFFER で変数 BUFFER をチェックできるけど、
新しくシェルを立ち上げるから setopt がズレてるおそれがあり、
いまのシェルで $BUFFER が実行できることを保証できない。
zsh -n $BUFFER で変数 BUFFER をチェックできるけど、
新しくシェルを立ち上げるから setopt がズレてるおそれがあり、
いまのシェルで $BUFFER が実行できることを保証できない。
621620
2019/07/26(金) 01:38:11.16 たとえば ignore_close_braces がオンになっていると
args(){ echo $# } はパースエラーになる。
args(){ echo $# } はパースエラーになる。
2019/07/31(水) 19:38:44.01
そもそも dryrunである以上、$BUFFER が実行できることなんて保証できない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない
2019/08/01(木) 12:54:23.45
>>622
なら zsh -n は何の役にたつの?
文法をチェックする… ただしパーザの挙動を変えるsetoptが起こる場合
結果は正しくない。起こるか否かも動的にしか判らないのだから、
静的に保証できるものは何もないのでは。
なら zsh -n は何の役にたつの?
文法をチェックする… ただしパーザの挙動を変えるsetoptが起こる場合
結果は正しくない。起こるか否かも動的にしか判らないのだから、
静的に保証できるものは何もないのでは。
2019/08/01(木) 13:21:22.25
622はおそらく間違っている。
現在のオプションを参照するカレントシェルで動く文法チェッカがあれば、
$BUFFERの実行を伴わない文法チェックはできると思う。
setopt によるパーザの変更はひとつのコマンド行が終わった後に効くっぽいからだ。
二行のファイル
setopt ignore_close_braces
args(){ echo $# }
をsourceすると失敗するが、一行に結合してインタラクティブシェルから呼ぶと成功する。
現在のオプションを参照するカレントシェルで動く文法チェッカがあれば、
$BUFFERの実行を伴わない文法チェックはできると思う。
setopt によるパーザの変更はひとつのコマンド行が終わった後に効くっぽいからだ。
二行のファイル
setopt ignore_close_braces
args(){ echo $# }
をsourceすると失敗するが、一行に結合してインタラクティブシェルから呼ぶと成功する。
2019/08/01(木) 14:05:18.91
2019/08/01(木) 14:14:42.30
args(){ echo $# }
は ignore_close_braces がオンであろうがオフであろうが
そのオプションとは無関係に正しい文法
だからzsh -nでチェックすると正しい文法として扱われる
args(){ echo $# } という関数定義命令を実行すると、
パースエラーという "実行時エラー" が出る
「パースエラーなんだから、実行時エラーじゃないやい!」なんて理屈は通じない。
evalで変なコードを実行したらパースエラーになるだろ
実行時パースエラーというのものが存在する
dry-runである以上、実行時パースエラーを見つけることは不可能
zsh -nは間違ってる文法を「間違ってる文法」だと保証してくれるが
「正しい文法」だとは保証していない
は ignore_close_braces がオンであろうがオフであろうが
そのオプションとは無関係に正しい文法
だからzsh -nでチェックすると正しい文法として扱われる
args(){ echo $# } という関数定義命令を実行すると、
パースエラーという "実行時エラー" が出る
「パースエラーなんだから、実行時エラーじゃないやい!」なんて理屈は通じない。
evalで変なコードを実行したらパースエラーになるだろ
実行時パースエラーというのものが存在する
dry-runである以上、実行時パースエラーを見つけることは不可能
zsh -nは間違ってる文法を「間違ってる文法」だと保証してくれるが
「正しい文法」だとは保証していない
2019/08/01(木) 14:17:22.64
evalがある言語では ソースコードのパースも(一部は)実行時に行われる
dry-run=実行しない以上、実行時にしかわからないエラーを見つけられるわけがない。
dry-run=実行しない以上、実行時にしかわからないエラーを見つけられるわけがない。
2019/08/01(木) 14:19:19.08
ignore_close_braces オンで文法チェックしたいなら、
こうすればいいだけ
zsh -o ignore_close_braces -n
こうすればいいだけ
zsh -o ignore_close_braces -n
2019/08/01(木) 15:13:15.12
2019/08/02(金) 10:43:58.09
いやその理解はおかしい。構文チェックが二段階あるわけではない。
インタラクティブシェルでは実行時パースの単位はコマンド行の実行毎になるというだけ。
そのため$BUFFERのチェックに限っていえば、パースは一回なので、
途中でのパーザ変更は変数中に効果を発揮しない。故にドライランで構文チェックができる。
> args(){ echo $# }
> は ignore_close_braces がオンであろうがオフであろうが
> そのオプションとは無関係に正しい文法
ノー。zsh -o ignore_close_braces -n ... で判定するとエラーになる。zsh -n の機能は単に構文チェックするというだけ。
その例のようにパーサの変更がない区間での構文チェックで役にたつ。
アドバイスにおいて、レスをよく読まずに一般論でドヤ顔したり、相手の思考を妄想して叩くべきではない。
インタラクティブシェルでは実行時パースの単位はコマンド行の実行毎になるというだけ。
そのため$BUFFERのチェックに限っていえば、パースは一回なので、
途中でのパーザ変更は変数中に効果を発揮しない。故にドライランで構文チェックができる。
> args(){ echo $# }
> は ignore_close_braces がオンであろうがオフであろうが
> そのオプションとは無関係に正しい文法
ノー。zsh -o ignore_close_braces -n ... で判定するとエラーになる。zsh -n の機能は単に構文チェックするというだけ。
その例のようにパーサの変更がない区間での構文チェックで役にたつ。
アドバイスにおいて、レスをよく読まずに一般論でドヤ顔したり、相手の思考を妄想して叩くべきではない。
2019/08/02(金) 11:33:35.09
あとはこんなときとかに使えるね。
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 `)'
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 `)'
2019/08/02(金) 13:35:05.17
>>630
> いやその理解はおかしい。構文チェックが二段階あるわけではない。
二段階あるんじゃないよ。
-nによる構文チェックは実行せずに静的な構文チェックを行う。
実行しないから実行したら文法エラーになるようなものを見逃す。
通常の実行時は静的な構文チェックは行わずに、実行しながら構文チェックを行う
二段階あるんじゃなくて、二種類あるんだよ。
> いやその理解はおかしい。構文チェックが二段階あるわけではない。
二段階あるんじゃないよ。
-nによる構文チェックは実行せずに静的な構文チェックを行う。
実行しないから実行したら文法エラーになるようなものを見逃す。
通常の実行時は静的な構文チェックは行わずに、実行しながら構文チェックを行う
二段階あるんじゃなくて、二種類あるんだよ。
2019/08/02(金) 14:01:37.54
んで、話は最初に戻る
そもそも dryrunである以上、$BUFFER が実行できることなんて保証できない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない
そもそも dryrunである以上、$BUFFER が実行できることなんて保証できない
setoptを含め、実行時にしかわからない情報に依存するものは
実行しないdryrunでわかるわけがない
2019/08/02(金) 14:32:46.44
ノー。$BUFFER 実行時の構文チェックは一回だから
2019/08/02(金) 15:29:13.61
>>635
何いってんの?
$BUFFERに入ってるのはただのファイル名なんだけど?
zsh -n $BUFFER
構文チェックに通ったからと言って、実行したときに構文エラーが出ないとは限らない
なぜなら、zsh -nは実行したときの構文チェックとは別物だから。
何いってんの?
$BUFFERに入ってるのはただのファイル名なんだけど?
zsh -n $BUFFER
構文チェックに通ったからと言って、実行したときに構文エラーが出ないとは限らない
なぜなら、zsh -nは実行したときの構文チェックとは別物だから。
2019/08/02(金) 16:04:43.33
>>636
いや、man zshzle に書いてあるが zsh の変数 $BUFFER は
エディットバッファの中身を格納している。この値は zle のウィジェットから取得できるんだ。
コマンドラインに例えば echo hoo と入力して実行すると BUFFER='echo hoo' になる。
ウィジェットは自作もできて、好きなキーに bindkey 命令で紐づけて呼べる。
読み返して気付いたんだが、620 は書き間違いで
zsh -n -c $BUFFER
が正しい。
zsh スレだから当然BUFFERくらい知ってるよなと思っていて、会話が繋がっていったので疑いもしなかったんだが
これは完全に俺が悪いです。ごめんなさい。
いや、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 source ~/.zshrc を打とうとして source ~/.zsh_history を実行してしまった悲劇が話題になってた
これどう対策する?
これどう対策する?
2019/08/04(日) 07:28:41.73
>>638
具体的に何が問題なの?
具体的に何が問題なの?
2019/08/04(日) 08:14:57.90
https://qiita.com/stilo/items/90f6c6e308c85a4a9460
~/.zshrc を実行するつもりがタブ補完などをスリップしてしまい .zsh_history を実行していまう。
するとヒストリファイル($HISTFILE == .zsh_history)に書かれた過去に実行したコマンドが、順番に source コマンドによって読み込まれて実行される。
記事で紹介されている事故では途中で止められる機会があったから良いものの、運が悪ければ不可逆的・破壊的コマンドが走り重要な情報を含んでるかもしれない現環境がズタズタになる。
~/.zshrc を実行するつもりがタブ補完などをスリップしてしまい .zsh_history を実行していまう。
するとヒストリファイル($HISTFILE == .zsh_history)に書かれた過去に実行したコマンドが、順番に source コマンドによって読み込まれて実行される。
記事で紹介されている事故では途中で止められる機会があったから良いものの、運が悪ければ不可逆的・破壊的コマンドが走り重要な情報を含んでるかもしれない現環境がズタズタになる。
2019/08/04(日) 09:04:01.96
ヒストリ先頭に予め終了命令を入れておくという技をtwitterでみた。
手作業だと忘れそうなので、.zshrc にこういうのを書いておけばいいかな。
< $HISTFILE | { mv $HISTFILE{,.bak}; sed '1{/return 1/!i\
echo '"'"'Cannot source `'$HISTFILE'`, Abort.'"'"' >&2;return 1
;}' > $HISTFILE ;} && rm $HISTFILE.bak
手作業だと忘れそうなので、.zshrc にこういうのを書いておけばいいかな。
< $HISTFILE | { mv $HISTFILE{,.bak}; sed '1{/return 1/!i\
echo '"'"'Cannot source `'$HISTFILE'`, Abort.'"'"' >&2;return 1
;}' > $HISTFILE ;} && rm $HISTFILE.bak
2019/08/04(日) 09:05:51.31
>>640
リンク先読んでないけど、それコマンド確認しないでEnter押しちゃ何だってトラブルの元だよね
補完offにしとくか、HISTSIZEを2-3ぐらいにしとけば
設定ファイル編集した後に読み込むならsource !$<tab>でもいいんだし
リンク先読んでないけど、それコマンド確認しないでEnter押しちゃ何だってトラブルの元だよね
補完offにしとくか、HISTSIZEを2-3ぐらいにしとけば
設定ファイル編集した後に読み込むならsource !$<tab>でもいいんだし
2019/08/04(日) 09:15:19.48
2019/08/04(日) 09:25:34.17
2019/08/04(日) 11:29:09.41
これで行けるわ
zstyle ':completion:*' ignored-patterns '.zsh_history'
.zshrc あたりに追加すればいい
zstyle ':completion:*' ignored-patterns '.zsh_history'
.zshrc あたりに追加すればいい
2019/08/04(日) 12:10:26.35
書き直した。ヒストリのバックアップは別でやるべきだわ
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 だけに限定するのは難しいだろうか
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 だけに限定するのは難しいだろうか
2019/08/04(日) 12:18:01.65
>>646
historyとどう違うの
historyとどう違うの
2019/08/04(日) 12:52:07.02
>>647
fc のこと? history == fc -l で、リストアップに限定したコマンド。
fc のこと? history == fc -l で、リストアップに限定したコマンド。
2019/08/04(日) 13:01:33.64
問題の対策は他にもEnterキーのアクションである accept-line ウィジェットを置き換えるとか、
コマンドライン実行前に呼ばれる preexecフックとかで止める方法がある。後者は記事のブックマークコメントの先で紹介されてた。
でも言われてた通り機構をあらたに作る必要があって煩雑になるし、その辺は元々弄りたい需要が多すぎるのでただでさえゴチャついてるところに手を入れがたい。
インタラクティブシェルだけ source を関数で置き換える方針はどうだろう。
.zsh_historyが引数のときだけ実行を警告するように。これも軽い修正になってよさそうじゃないかな
コマンドライン実行前に呼ばれる preexecフックとかで止める方法がある。後者は記事のブックマークコメントの先で紹介されてた。
でも言われてた通り機構をあらたに作る必要があって煩雑になるし、その辺は元々弄りたい需要が多すぎるのでただでさえゴチャついてるところに手を入れがたい。
インタラクティブシェルだけ source を関数で置き換える方針はどうだろう。
.zsh_historyが引数のときだけ実行を警告するように。これも軽い修正になってよさそうじゃないかな
2019/08/04(日) 13:50:19.73
source ~/.zshrcはエイリアスに入れてるわ
これで誤爆の心配もないね!
これで誤爆の心配もないね!
2019/08/04(日) 13:56:32.83
>>650
エイリアスは忘れちゃわない?
エイリアスは忘れちゃわない?
2019/08/04(日) 14:02:16.19
>>648
いや history じゃなくてわざわざ tail .zsh_history を使うのってどういう時なの?
何にせよ .zsh_history を開きたいときは command $HISTFILE<tab> でもいいと思うけど
いや history じゃなくてわざわざ tail .zsh_history を使うのってどういう時なの?
何にせよ .zsh_history を開きたいときは command $HISTFILE<tab> でもいいと思うけど
2019/08/04(日) 14:09:43.14
>>651
確かに忘れるけど、セーフティ的な意味なら充分役立ってくれるかなと思って……
確かに忘れるけど、セーフティ的な意味なら充分役立ってくれるかなと思って……
2019/08/04(日) 14:15:12.35
2019/08/04(日) 18:43:47.12
HISTFILE=~/.zsh/history_zsh
って感じで場所と名前変えてる
って感じで場所と名前変えてる
2019/08/04(日) 20:08:58.07
ZSHを使わない
658名無しさん@お腹いっぱい。
2019/08/18(日) 23:52:53.56 zshクソ。誰もが使いそうな変数名を特殊扱いすんな
statusとかpathとかsecondsとか
statusとかpathとかsecondsとか
2019/08/19(月) 00:28:59.18
parametersとoptionsもあった
2019/10/19(土) 20:04:44.61
遅レスですまないけど、.zhistoryって行頭が:になってるからsourceしてもスルーするんじゃないの?
:って何もしないって機能だよね
:って何もしないって機能だよね
2019/10/20(日) 18:48:22.54
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
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.23663名無しさん@お腹いっぱい。
2019/10/22(火) 13:37:43.51 まあ、: コマンド自体が何もしないってのはそのとおりだけど
一行全体で見ると、引数部分を実行するという話
一行全体で見ると、引数部分を実行するという話
2019/10/23(水) 06:15:25.06
:はなにもしないし引数をすべて無視するけどシェルが:の引数と解釈しなかった部分が実行される
よって;とか&&とか$()とか<()とかいろいろ実行される
よって;とか&&とか$()とか<()とかいろいろ実行される
2019/10/26(土) 21:27:09.03
: を使うシーンって何?
意味は知ってたが使ったことない
意味は知ってたが使ったことない
666名無しさん@お腹いっぱい。
2019/10/26(土) 22:13:29.87 >>665
変数の代入と停止の無効化
変数の代入と停止の無効化
2019/10/26(土) 22:58:50.57
>>665
trueの代わり
trueの代わり
2019/10/26(土) 23:55:09.51
>>665
ファイルサイズを0にする
ファイルサイズを0にする
669665
2019/10/27(日) 00:54:52.87 そういや普通にwhile : ;do〜みたいに手癖で使ってたわ
あと昔書いてたシェルスクリプトでも冒頭でset -eを設定しておきつつ
エラーで止まってほしくない箇所で : を使ってた
てかzsh関係ないですねすんません
あと昔書いてたシェルスクリプトでも冒頭でset -eを設定しておきつつ
エラーで止まってほしくない箇所で : を使ってた
てかzsh関係ないですねすんません
2019/11/10(日) 00:49:14.12
zshが馴染みすぎるとbash、それも素の設定を使わざるを得ない状況になるとストレスがすごいよね
鯖缶の方とかそういうシチュエーション多そうだけどどうやって折り合いつけてるんだろう
鯖缶の方とかそういうシチュエーション多そうだけどどうやって折り合いつけてるんだろう
671名無しさん@お腹いっぱい。
2019/11/10(日) 15:56:08.74 >>670
zshは基本入ってないんで、bashに戻りつつあるw
zshは基本入ってないんで、bashに戻りつつあるw
2019/11/10(日) 23:38:07.15
自作のZpluginプラグインのほぼ全てが壊れたまま運用していて、
むしろスッピンより不便なはずだが、何も感じなくなってしまった
インタラクティブ環境は、慣れやすいものなのかも
むしろスッピンより不便なはずだが、何も感じなくなってしまった
インタラクティブ環境は、慣れやすいものなのかも
2019/11/13(水) 00:02:51.13
Macのデフォルトシェル採用って結構影響でかいような
問題なければ追従するUnixやLinuxの鳥も出てくるじゃないかと
問題なければ追従するUnixやLinuxの鳥も出てくるじゃないかと
674名無しさん@お腹いっぱい。
2019/11/13(水) 03:58:48.06 それはないなー
bashとの互換性がね。shwordsplit、あれが最悪だね。
理屈はわかるんだけどね。互換性の点から見れば最悪。
うん。互換モードはあるよ。でもデフォルトじゃないんで代替にできない。
そこまでして変える必要性がない。
bashとの互換性がね。shwordsplit、あれが最悪だね。
理屈はわかるんだけどね。互換性の点から見れば最悪。
うん。互換モードはあるよ。でもデフォルトじゃないんで代替にできない。
そこまでして変える必要性がない。
675名無しさん@お腹いっぱい。
2019/11/13(水) 04:02:15.99 そもそもさ、みんな潔癖だからね。POSIX準拠。そっち優先。
debianとかubuntuは bashよりも機能が低いdashとかにしようとしてるぐらい
ログインシェルはまあ自由に使っとくれって感じだろうけど
デフォルトシェルはPOSIX準拠。これ一択なんでzshにはならんよ
遅いしね。
debianとかubuntuは bashよりも機能が低いdashとかにしようとしてるぐらい
ログインシェルはまあ自由に使っとくれって感じだろうけど
デフォルトシェルはPOSIX準拠。これ一択なんでzshにはならんよ
遅いしね。
676名無しさん@お腹いっぱい。
2019/11/13(水) 04:03:39.70 Macのログインシェルは、はたから見ると、あぁ可哀想
bashのライセンスが受け入れられなかったから
消去法でzshなんだね。ぐらいにしか思ってない。
zshを選びたくて選んだなんて誰も思ってないんだよ。
bashのライセンスが受け入れられなかったから
消去法でzshなんだね。ぐらいにしか思ってない。
zshを選びたくて選んだなんて誰も思ってないんだよ。
2019/11/14(木) 17:48:54.18
zshで何も困らない
強いて言うならQiitaとかのzsh初めて使った人の記事が初心者すぎて目障りなくらいw
強いて言うならQiitaとかのzsh初めて使った人の記事が初心者すぎて目障りなくらいw
2019/11/16(土) 03:47:19.45
Macユーザのウザさ、もとい声のデカさを信じようじゃないか
2020/05/01(金) 03:17:08.65
plugin managerをzinitに変えたら起動が爆速になった
オススメ
オススメ
680名無しさん@お腹いっぱい。
2020/05/03(日) 05:08:47.72 単なる興味なんですがzshの2系より前って手に入らないですかね?
681名無しさん@お腹いっぱい。
2020/05/03(日) 05:09:03.16 2系を含みます
2020/05/03(日) 08:13:07.84
zshの2系、やっと見つかりました。
https://web.archive.org/web/19990828203220/http://www.cs.elte.hu/pub/zsh/old/?919318967
https://web.archive.org/web/19990828203220/http://www.cs.elte.hu/pub/zsh/old/?919318967
683名無しさん@お腹いっぱい。
2020/05/05(火) 22:51:09.69 zshにBASH_ENVに相当する機能はありますか?
つまりzshでシェルスクリプトを非対話型で実行した時に
任意の処理を先立って実行したいのです。
つまりzshでシェルスクリプトを非対話型で実行した時に
任意の処理を先立って実行したいのです。
684名無しさん@お腹いっぱい。
2020/05/06(水) 07:12:37.95 >>683
~/.zshenv かな
http://zsh.sourceforge.net/Doc/Release/Files.html
スクリプト実行時に限らず対話シェル起動時にも読まれるけど
INTERACTIVEオプションの状態をチェックするifで括ればよさそう
if [[ ! -o INTERACTIVE ]]; then
echo non-interactive
fi
~/.zshenv かな
http://zsh.sourceforge.net/Doc/Release/Files.html
スクリプト実行時に限らず対話シェル起動時にも読まれるけど
INTERACTIVEオプションの状態をチェックするifで括ればよさそう
if [[ ! -o INTERACTIVE ]]; then
echo non-interactive
fi
2020/05/06(水) 08:45:36.51
>>684
ありがとうございます
既存の ~/zshenvは修正できないという制約があるのでINTERACTIVEの
チェックは出来ませんが、ZDOTDIRを書き換えればなんとかなりそうなきがします
つまりBASH_ENVをセットして起動の代わりに
/tmp以下に一時的にファイルを作ってZDOTDIRをセットして実行
初期化処理の中で一時ファイルを削除したりZDOTDIRを元に戻したりとかです
ありがとうございます
既存の ~/zshenvは修正できないという制約があるのでINTERACTIVEの
チェックは出来ませんが、ZDOTDIRを書き換えればなんとかなりそうなきがします
つまりBASH_ENVをセットして起動の代わりに
/tmp以下に一時的にファイルを作ってZDOTDIRをセットして実行
初期化処理の中で一時ファイルを削除したりZDOTDIRを元に戻したりとかです
686名無しさん@お腹いっぱい。
2020/05/10(日) 02:59:44.09 10より大きいファイルディスクリプタを使うにはどうすればいいの?
687名無しさん@お腹いっぱい。
2020/05/10(日) 03:14:41.32 事後怪傑しました!
688名無しさん@お腹いっぱい。
2020/06/09(火) 19:06:54.37 あー、もうやだ、クソzsh。なんでこんなこともできねーんだよクソ
しかも5.5?ぐらいから挙動変わってるし、バグなんかこれ
changelogみてもなにもわからねーしー、どうすればちゃんと取得できるんだよ
しかも5.5?ぐらいから挙動変わってるし、バグなんかこれ
changelogみてもなにもわからねーしー、どうすればちゃんと取得できるんだよ
2020/06/09(火) 21:59:20.23
クソなレス
690名無しさん@お腹いっぱい。
2020/06/09(火) 22:18:51.92 うるせーばーか、こっちはzshがクソで困ってるんだ
bashの方がいいな
bashの方がいいな
2020/06/10(水) 01:10:37.06
好きなの使えよ
2020/06/10(水) 06:47:54.01
何がやりたいのかさっぱりなうんこだな
2020/06/16(火) 00:13:26.25
zshは機能が多すぎて覚えられない
お勧め設定をAI的に徐々に教えてくれたらいいのに
「そのやり方、こんなふうにもできますよ?次回からこうします?」って
お勧め設定をAI的に徐々に教えてくれたらいいのに
「そのやり方、こんなふうにもできますよ?次回からこうします?」って
694名無しさん@お腹いっぱい。
2020/06/28(日) 06:13:09.19 fishどう?
2020/06/28(日) 08:33:56.89
色付きとか好きじゃないので俺はあんまり
696名無しさん@お腹いっぱい。
2020/06/28(日) 08:56:18.58 互換性を切り捨ててるものは結局デフォルトになることはないしね
zshも互換性が完璧とは言えないから驚かれたぐらい
bashがライセンス上の都合で選択できない以上どうしようもなかったんだろうが
zshも互換性が完璧とは言えないから驚かれたぐらい
bashがライセンス上の都合で選択できない以上どうしようもなかったんだろうが
2020/07/02(木) 16:31:10.99
Gay fish YO!
2020/07/07(火) 04:27:47.52
下記はとある本にのってる zsh のプロンプトの設定なんですが、一番右の % はなんなのでしょうか?
いらない気がするのですが? 誤植?
# プロンプトの右はじに、false なら終了ステータスを表示。
RPS1="%(?..(%?%))"
いらない気がするのですが? 誤植?
# プロンプトの右はじに、false なら終了ステータスを表示。
RPS1="%(?..(%?%))"
699名無しさん@お腹いっぱい。
2020/07/07(火) 06:07:17.79 >>698
%( に対応する閉じ括弧だと解釈されるのを防ぐエスケープ
%( に対応する閉じ括弧だと解釈されるのを防ぐエスケープ
2020/07/07(火) 15:42:07.86
ksh にすればいいのに()
2020/07/07(火) 20:58:59.88
Mortal Shell のオープンβテスト開始!
zsh から乗り換えよう!
https://news.yahoo.co.jp/articles/5742b9e2bf4c61014a5788631b1c98de8a886eb0
zsh から乗り換えよう!
https://news.yahoo.co.jp/articles/5742b9e2bf4c61014a5788631b1c98de8a886eb0
2020/07/07(火) 22:09:19.90
>>700
kshはメンテも終わった終わったシェルだから
kshはメンテも終わった終わったシェルだから
レスを投稿する
ニュース
- NHKの災害情報、閲覧に「ユーザー登録必要」で批判の声多数 [少考さん★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★7 [BFU★]
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて [パンナ・コッタ★]
- 【北海道】「稀に見る大きな個体」 体長1.9m、体重400kg超の巨大グマを捕獲 苫前町 [煮卵★]
- SuicaとPASMOのコード決済「teppay(テッペイ)」26年秋開始 🐧🤖 [少考さん★]
- フィフィ “工作員”と疑う声に「日本のために…昔から身を挺して発信している」「どんだけ探ったところで、なんも出てこないよ」 [Anonymous★]
- 小林源文(74)「実際に日中戦争になったら先の大戦の沖縄、硫黄島での戦闘のように日本人の恐ろしさを教えてあげるよw」 [237216734]
- 日本政府、「政府効率化省(DOGE)」を設置 租特・補助金の無駄点検 [377482965]
- 【高市悲報】8年前の志らく「政権批判しただけで反日扱いはおかしい😤そもそも日本人かどうかで差別するな」 [359965264]
- 【高市悲報】中国「日本への渡航禁止報復はたったの4ヶ月ネ!花見時期には解除するアル」 [614650719]
- 【速報】参政党、スパイ防止法を提出 [834922174]
- 防衛省「台湾有事にロシア参戦するかも」 [177178129]
