[表示 : 全て 最新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/

482 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/23(木) 22:14:43.03 .net]
.zshrcにfunctionを書いているのですが、readでユーザ入力を待っている時に、ctrl+c、ctrl+d、esc、どれも押しても強制終了できません。

function hoge(){

483 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/23(木) 22:17:15.86 .net]
.zshrcにfunctionを書いているのですが、readでユーザ入力を待っている時に、ctrl+c、ctrl+d、esc、どれも押しても強制終了できません。
ユーザ入力ができて、入力待ち中に強制キャンセルもできるようにするにはどのようにすればよいでしょうか?

function hoge(){
# 入力待ち中に強制キャンセルが何も効かない。。
printf "input: "
read string
}

484 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/27(月) 20:12:25.69 .net]
>>483
function hoge(){
trap 'return 1' SIGINT
printf "input: "
read string
}

これでどうだろう

485 名前:483 mailto:sage [2016/06/30(木) 00:17:40.19 .net]
>>484

ありがとうございます。

ctrl+cのあとにエンターを押せばtrapに補足されましたが、ctrl+cだけではキャンセルされませんでした。。

バージョンはこれでした。zsh 4.3.11 (x86_64-redhat-linux-gnu)

テストで、 trap "echo aaa" SIGINT としたんですが、これ、関数が終わった後も、コマンドライン上でctrl+cすると
aaa
aaa
aaa
...
とtrapが発動するようになりますね。。
とりあえず、 read -k 1 str で1文字入力にすることで、ctrl+cが入力されるとそれでキャンセルされたように見えるのでこれで代用しようかな。

486 名前:名無しさん@お腹いっぱい。 [2016/07/01(金) 20:45:43.11 .net]
>>485
見当違いなアドバイスだが、readに-tつけては

487 名前:483 mailto:sage [2016/07/07(木) 00:51:28.67 .net]
>>486

なるほど。
秒数待ちをするんですね。
そのアイデアはまったく考えてませんでした。
案の一つとして検討させていただきます。ありがとうございます。

488 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/08/05(金) 17:35:39.35 .net]
ここ最近、履歴の共有ができなくなってしまいました
inc_append_history と share_history は有効にしてます
何が悪さをしてるでしょうか?
zshは5.2です

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/22(木) 11:34:44.60 .net]
function定義した中身を表示する方法はありますか?

aliasはwhichで内容を確認できるのですが、functionはwhichで見れず。。
何か他の方法で見れないでしょうか?

490 名前:名無しさん@お腹いっぱい。 [2016/12/22(木) 16:04:48.16 .net]
typeやとあかん?



491 名前:名無しさん@お腹いっぱい。 [2016/12/22(木) 16:05:32.06 .net]
すみません。忘れてください

492 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/22(木) 20:10:18.20 .net]
>>490,491

レスありがとうございます。
すでに違ったとレスいただいていますが、typeコマンド初めて知りましたので一応調べてみたら、functionだとわかるだけでした。

493 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/22(木) 20:17:52.21 .net]
関数定義も普通にwhichで見れると思うけど……

% function foo() { echo hoge; }
% which foo
foo () {
echo hoge
}

494 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/22(木) 22:09:41.71 .net]
whichが置き換わってるんとちゃう?
built-in which
でいける

495 名前:489 mailto:sage [2016/12/23(金) 00:31:06.34 .net]
>>493,494

おお!
その通りでした。
whichをwhichするのは初めてだ。
↓alias登録されてた!

% which which
which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

これでいけました。ありがとうございます。
% builtin which is_exists

続きます。

496 名前:489 mailto:sage [2016/12/23(金) 00:37:07.30 .net]
続きです。

.zshrcと.zshenv見直してもalias登録してないので、どこで設定されてるかぐぐったら
こんなの見つけました。

ttp://d.hatena.ne.jp/BigFatCat/20080601

どうやら下記で設定されてるみたいです。
/etc/profile.d/which-2.sh

これはzshの場合デフォルトで読まれるみたいですが、functionが見れなくなる欠陥whichで書き換えるとか迷惑ですね。。
これを読まないようにする設定とか無いでしょうか?

497 名前:489 mailto:sage [2016/12/23(金) 00:39:13.07 .net]
途中で書き込んでしまいましたすみません。

読まないようにする設定が無ければ、無理矢理感があって気持ち悪いですが unalias which を.zshrcに入れて我慢します。

498 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/23(金) 00:46:56.65 .net]
zshはそんなものデフォルトで入れないよ。冤罪だw
その手のおせっかいはお使いのディストリビューション固有の事情かと。

499 名前:489 mailto:sage [2016/12/23(金) 00:51:58.22 .net]
えええ

centos6です。。

500 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/24(土) 12:06:57.31 .net]
curlで&や?を含むURLを取得するとき、いちいちURLをクォートで囲むのが
面倒なんだが、いい方法ないだろうか?



501 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/24(土) 14:15:22.12 .net]
URLをコピペするときは bracketed-paste-url-magic が役立つ

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/24(土) 14:58:57.32 .net]
これか。これってターミナルエミュレータがbracketed pasteに対応してないとダメなんじゃない?
https://github.com/zsh-users/zsh/blob/master/Functions/Zle/bracketed-paste-url-magic
こっちのurl-quote-magicなら自分のとこでも動いた。ともあれthx
d.hatena.ne.jp/lurker/20061231/1167570929

503 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/24(土) 19:54:49.31 .net]
自分はその手のコマンドは noglob を使った alias を定義してるな

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/25(日) 07:10:40.66 .net]
noglobは&に効かなくね?

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/25(日) 14:42:22.28 .net]
>>504
あれ、確かにそうだよなと思って履歴を見返したら、クォート

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/25(日) 14:51:11.09 .net]
途中で切れてしまった。履歴を見返したら & を含む場合はクォートしていたw
ごめんち

ブラウザ経由で呼び出す機会が多くなったし、端末に張り付ける場合も
正規化した URL を使ってたから、クォートする機会があまりなかった
自分の記憶が全くに当てにならんのが泣ける

507 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/08(水) 15:33:37.91 .net]
ttps://github.com/ryoppy/cool-peco

を入れたんだけど C-r で cool-peco-history にならんのです。
デフォルトの bck-i-search: になっちまう。

コマンドラインからは cool-peco-history 呼べるし、
alias の hist も呼べる。

$ bindkey | grep peco
"^R" cool-peco-history

になってるし、コマンドラインから

$ bindkey '^r' cool-peco-history

しても変わらず。

「やっちまったなぁ!」を使わず解決策教えてほしいです。

508 名前:名無しさん@お腹いっぱい。 [2017/03/13(月) 11:52:13.60 .net]
pushd +3
とかってしたとき、3つ分スタック全体を循環させるんじゃなくて、
3つ目を取り出してスタックトップに乗せるって挙動なかったですか?
つまり最近使った順にスタックが並ぶ。

昔出来た気がするのですが、今マニュアル見てもなくて。

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/25(土) 16:44:28.09 .net]
ulimit -aってやると一番下に
-N 15: unlimited
と出るんですが、この項目は何ですか?

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/08/16(水) 10:45:32.97 .net]
extendedglobがmissing delimiterとか言われてエラーになる
何か他のオプションと衝突するとかある?



511 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/08/19(土) 19:42:44.72 .net]
cdr だけ 部分一致で補完したいのですが、どうすればよいでしょうか?
実用途としましては、project名 入力で path が補完して移動です。


zstyle ":completion:*" matcher-list 'm:{a-zA-Z}={A-Za-z} l:|=*'

で部分一致になった( l:=|* が 妥当かもわかってません)ので、

zstyle ":completion:*:*:cdr:*:*" matcher-list 'm:{a-zA-Z}={A-Za-z} l:|=*'
としてみたのですが、反映されませんでした。

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/08(水) 00:09:30.35 .net]
最近.zshrcを見直してzmodload zsh/filesが入ってたことに気付いたけど
これもう完全にいらない子なんだな。
たしか引数の最大バイト数を回避する目的で入れた記憶があるけど、
最近のLinuxは引数上限がかなり緩和されたはずだから困ることはまずないし、
むしろPOSIX準拠してないので制約が多い。

というかそもそもこれが作られた目的が緊急時のリカバリ用というのを今頃知った。
ただのPOSIX拡張だと思ってたわ・・・。manは見なきゃ駄目だな。

513 名前:名無しさん@お腹いっぱい。 [2017/12/29(金) 07:26:25.83 .net]
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

CDVW4G8P2M

514 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/09(金) 15:37:56.37 .net]
世の中pythonが流行ってるけど、案の定xonshっていうシェルも出てきた
そのうちイーマック厨みたいにpythonは環境です(キリッとか言い出すやつも現れそうだな

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/12(月) 03:10:42.94 .net]
>>514
xonsh初めて知った。
機能的にはすごそうだが、ちょっと込み入ったことはシェルスクリプトで書いた方が後々使い回しが楽そうだな...

516 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/14(水) 09:51:22.03 .net]
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆

517 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/05(月) 18:24:52.65 .net]
fzfのキーバインドを変更したい時ってどうすればいいんですか?
具体的にはC-tをC-TもしくはM-Tに変更したいです

518 名前:名無しさん@お腹いっぱい。 [2018/03/15(木) 08:14:49.67 .net]
muxer -i input.aac?sbr --file-format m4a -o output.m4a
ってコマンドを打ちたいんですが、sbrというオプションを付けるときは頭に?を付けないといけないんですが、
「?」がzshでワイルドカードとして扱われてしまいます。
ワイルドカードとして認識されないようにするにはどうしたらいいでしょうか?

519 名前:名無しさん@お腹いっぱい。 [2018/03/15(木) 08:31:31.50 .net]
自己レス
?の前にバックスラッシュを入れたら使えました。

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/15(木) 11:57:18.95 .net]
zshのデフォルトだと、マッチするファイルがなければ?は?のままのはずだが。



521 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/16(金) 01:19:49.71 .net]
>>520
バックスラッシュ付けないとこのようになってしまいます。

$ muxer -i input.aac?sbr --file-format m4a -o output.m4a
zsh: no matches found: input.aac?sbr

522 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/16(金) 01:28:32.25 .net]
>>521
NOMATCHかなんか設定してるんでしょ。
man読みな。

523 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/16(金) 01:54:20.85 .net]
>>522
何の設定でしょうか?
何のmanをみたらいいですか?

今ググってみて
.zshrcに
setopt nonomatch
と書いたら?を付けなくてもコマンドが動きました。

524 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/13(金) 02:04:18.70 .net]
$ $PATH<Enter>
としたとき$PATHの値が表示されるようにできるみたいなんですが、
そういうオプションがあるんでしょうか?

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/14(土) 20:09:52.28 .net]
zsh: No such file or directory: のようなおまけがついててもいいなら
そのままでも表示はされる場合が多い気がする

526 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/15(日) 02:53:00.19 .net]
確かに。でも$PATHならともかく他の環境変数にもその方法を適用するには
リスクが高いですね。

527 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/15(日) 09:21:33.89 .net]
preexec使えばできると思う

528 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/15(日) 16:39:01.17 .net]
accept-lineをオーバーライドするのでもできるかも
https://stackoverflow.com/a/28101424/5209556

529 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/17(火) 21:53:10.70 .net]
普通にechoするんじゃ何がダメなんだ

530 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/04/22(日) 17:49:31.90 .net]
ここでも出てるんだが、
https://stackoverflow.com/questions/7342233/zsh-completion-inside-quoted-strings
git commit 'Add f<TAB>
としたときfで始まるファイル名を補完してくれたらいいんだが



531 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 01:54:35.99 .net]
以下のように (( )) で浮動小数演算したところ思わぬ結果になりました。
a と b の型がどのように決まるのか教えていただけないでしょうか?

$ cat hoge
a=$(( 1e-6 * 1e-6 ))
(( b = 1e-6 * 1e-6 ))
typeset -p a
typeset -p b

$ zsh hoge
typeset a=9.9999999999999998e-13 #型は文字列?
typeset -F b=0.0000000000 #小数点以下10桁固定の型?

$ zsh --version
zsh 5.4.2 (x86_64-redhat-linux-gnu)

532 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 19:34:11.16 .net]
よく知らずに答えるけど
$(())を使うと文字列
(())を使うと浮動少数や整数
になるんじゃないの?

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/08(火) 19:03:35.11 .net]
型はtypeset指定しなければ暗黙的に決まるわけだが、
floatは指数形式と小数点固定形式があるが(())内の暗黙floatは勝手に後者になる
そもそも型とその出力表現は別の概念なのにごっちゃになってんのが糞仕様すぎ

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/09(水) 06:50:48.71 .net]
タブ補完でmigemo使う方法って知られてるの

535 名前:名無しさん@お腹いっぱい。 [2018/05/22(火) 02:54:33.28 .net]
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

NQSL6

536 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/25(金) 04:02:31.48 .net]
zsh/filesって今はいらない子なの?
これないと引数の最大バイト数の制約がきついよね?

537 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/25(金) 07:37:08.83 .net]
自分が必要なら使えばいい
俺は引数の最大バイト数制限なんてここ10年ひっかかったことないし
あったとしたら自分のマシンじゃないからzshじゃなかったはず

538 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/25(金) 23:18:15.61 .net]
昔のLinuxはかなり少なかったらしいね>最大バイト数制限
昔初めて.zshrcを作る際に他人の設定をパクってそのまま惰性で使ってる人多そう・・・

539 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/26(土) 17:34:56.75 .net]
そもそもこれが作られた目的って緊急メンテ用だし

www.zsh.org/mla/workers/2008/msg00617.htmlより

It wasn't intended to provide full versions of the commands, the
commands which are there don't implement all the POSIX options, etc.
It's intended to provide enough to be useful in emergencies.

Most people shouldn't need to use it.

540 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/27(日) 11:56:00.46 .net]
>>530,>>534
hata-o.jp/kian/index?tools#sazae



541 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/27(日) 20:12:13.46 .net]
>>540
530ってそれ関係ある?

542 名前:名無しさん@お腹いっぱい。 [2018/07/10(火) 10:11:10.94 .net]
kill screen<TAB>
とか補完して候補が1個しかなかった場合、即PIDに補完されるけど、
候補が1個でもメニューを表示するようにできないかな
他のコマンドの場合はいいんだけど、killの場合は確認しないと不安で

zstyle ':completion:*' menu select=1
はやってみたけど変わらなかった

543 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/13(月) 19:24:28.55 .net]
pgrepやpkillでよくね?

544 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/14(火) 20:21:50.30 .net]
補完でできた方がよくね?

545 名前:名無しさん@お腹いっぱい。 mailto:age [2018/08/29(水) 06:32:57.35 .net]
bash が入ってるが zsh は入ってない環境って例えばどんなの?

546 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/29(水) 11:47:58.80 .net]
>>545
20年前のUNIX/Linuxサーバー
10年前のならだいたい入ってると思うけど、それでもデフォルトで入ってるかどうかはわからん

547 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/29(水) 13:19:33.55 .net]
そうなのか。実は zsh スクリプトを積極的に書いていっていいものかと悩んでいるんだ。
他人に使ってもらうためのスクリプトは bash で書いていたが、普段使いのシェルが zsh なので
なるべくzsh を使いたい。しかし「このスクリプトを使うためにまず zsh 自体をインストールして下さい」
と言うのは避けたい。導入のハードルを上げたくない。

548 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/29(水) 19:14:19.25 .net]
対話的に使うシェルとスクリプトで使うシェルは別でもいいんじゃないの

549 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/29(水) 22:33:23.57 .net]
日常の作業を自動化したくてスクリプトを書くことがよくあるんです。
あと zsh の rcquotes とか zparseopts とかが便利すぎるので…

550 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/29(水) 23:32:01.46 .net]
自分で答え出してるんじゃね
自分しか使わないならzshでいい
他人に使ってほしいならせめてbash



551 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 00:15:19.56 .net]
>>550
はい。つまり気になっているのはデフォルトで bash が入っているが、
しかし zsh は入ってない環境が実際あるのか。ってことなんです。

552 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 07:17:05.79 .net]
あるよ
CentOS7でもそうだろ

553 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 11:46:06.84 .net]
入ってるか入ってないかは半々ぐらいだね

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 12:49:34.30 .net]
なるほど、そんなレベルなんですか…

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 17:31:18.55 .net]
「入れれない」ってんならともかく、「入ってない」だけなら入れれば済むワケで

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/30(木) 18:41:39.13 .net]
最近のOSXにはプリインストールだから使って良いんちゃう

557 名前:名無しさん@お腹いっぱい。 [2018/08/30(木) 21:25:34.92 .net]
サーバ用途だとzshは明示的に入れないと入らないでしょ。稼働中のサーバでは後から入れるにしても難色を示される事も多いですし、上でどなたか書かれてたように、自分に決定権のある環境以外でも使うのなら、zshでスクリプトを書くのは避けるべき。

最近はデフォルトのshellがbashになってたりするけど、昔はbashですら入っていない環境も多くて、/bin/sh で書くように教育されたよ。

年寄り臭くてスマンね

558 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/31(金) 01:32:04.70 .net]
>>547
俺も昔おんなじことで悩んでたけど、
>「このスクリプトを使うためにまず zsh 自体をインストールして下さい」
これが通らないような相手のことを考えてスクリプト書いてやるのが馬鹿らしくなって、
以来悩むのはやめたわ。それ自体が仕事だとそうもいかんのだろうけど。

559 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/31(金) 14:18:23.15 .net]
>>551
パッケージでなら用意されてない環境も今では珍しいと思うけど、
最初からインストールされてるかどうかで言えば、入ってない環境なんて
山ほどあるかと。

他の人も書いてるけど、デスクトップ用途ならともかく、サーバ用途なら
sh、csh、bash、tcshぐらいまでしか入ってないとかは普通にあり得る。

560 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/31(金) 17:27:51.20 .net]
csh系は論外とすると、結局無難なのはshかbashだろうか



561 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/31(金) 17:45:30.47 .net]
bashがデフォで入ってない環境もあるんで、
無理のない範囲でshにしとくといいよ。

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/09/01(土) 04:27:44.51 .net]
> 年寄り臭くて
いいえ、助言助かりますよ。かつてのbashの位置にようやく追いついたということですね。
先輩方どうもありがとう。
サーバーで使うなら、zsh は諦めるけど
デスクトップでは使ってもいいなと思えてきた。

563 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/09/01(土) 04:29:57.61 .net]
そうすると気になるのは、fish や Go との差はどうなのかってこと。 必要ならインストールさせればいい、ってスタンス
なら、当然その辺がライバルになってくるけど…

564 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/09/01(土) 22:08:09.98 .net]
まあいいか。スレにみんなにお礼と言ってはナンですが、makefile で zsh を使う方法を考えたので紹介させてください
~ makefile で zsh を使う・Makefile ~

# 設定をまとめた親ディレクトリ.
export ZDOTDIR := $(TMPDIR)/make.$(shell echo $$PPID).zsh
$(ZDOTDIR):
@cd $(@D); mkdir $(@F)
$(ZDOTDIR)/.zshenv: | $(ZDOTDIR)
@exec 1> $@; echo setopt rcquotes
$(ZDOTDIR)/all: $(ZDOTDIR)/.zshenv # マーカーファイル。この行の依存関係に .zshrc などを並べてね.
@touch $@ # 依存関係をまとめたいだけなので、中身はからっぽで.
-include $(ZDOTDIR)/all # このように include することでレシピの実行などでシェルが使われる前に設定ファイル群を作れる. マーカーファイルはない状態から作るのでエラーメッセージはかならず出る。それを消すための先頭のハイフン.
SHELL := /bin/zsh # zsh の設定ファイルは ZDOTDIR 環境変数で渡される.
# なおレシピ外の行での $(shell ...) 関数から呼ばれるシェルは、直前のSHELL設定行より下では作られた ZDOTDIR が有効になった zsh が使える。その行より上ではただの /bin/zsh が使われる.

hoo:
echo 'hoo''bar'


~ makefile で zsh を使う・実行 ~
$ make hoo
echo 'hoo''bar'
hoo'bar

565 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/09/15(土) 02:17:59.88 .net]
zshwiki.orgってまだ落ちてるの?
もしかして閉鎖?

566 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/10/28(日) 20:27:16.64 .net]
fishでshift+tabを押すと補完候補をインクリメンタルに選択出来るんだけど、これに似た機能はzshないかね

567 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/01(木) 13:19:56.37 .net]
hoge hoge hoge 〜 hoge
と文字列を任意個展開するスマートな方法ないですかね?
for文使えとかそういうのはなしでお願いします
マニュアルのExpansionの章をくまなく読めばわかるのかもだけど

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/01(木) 13:28:12.15 .net]
echo $(yes hoge | head -10)

569 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/01(木) 13:33:18.60 .net]
あ、repeatコマンドもなしでお願いします
{hoge(n)} みたいに短くスマートにやる方法が知りたい

570 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/01(木) 13:36:12.43 .net]
forもwhileもrepeatも使ってないからセーフ



571 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/01(木) 13:36:59.97 .net]
>>568
あ、bashでこんな手があるんですね
yesって何に使うのだろうと思ってた
ただ、天下のzshですからもっとzshらしい方法があるはず

572 名前:名無しさん@お腹いっぱい。 [2018/11/01(木) 14:33:26.13 .net]
zsh本来の力の10%も使いこなしてないけど、せめてExpansion系は使いこなしたいわ

>>566
fishよく知らないんだけどインクリメンタル補完って何?
もしかしてサジェスト系?

573 名前:名無しさん@お腹いっぱい。 [2018/11/01(木) 23:47:40.16 .net]
ぼうやーってわしもちふつうだけど、まーおこめのほうがいいんだけど
エラーの原因が分からない?
まず確認しよう!
《書き込めない時の早見表》
《掲示板へ戻る》
《スレッド一覧へ戻る》
《スレッドへ戻る》

もしかしてアクセス規制ですか?
お使いのプロバイダさんが、原因となった人に対応するまで規制は続きます。
個別の対応・進展については、プロバイダさんへお尋ねください。
その他、5chちゃんねるについては、 初心者の質問 批判要望 運用情報 運用臨時 などへどうぞ。
o.8ch.net/1b5kj.png

574 名前:名無しさん@お腹いっぱい。 [2018/11/01(木) 23:49:13.04 .net]
やっぽ(^|0|^)

575 名前:名無しさん@お腹いっぱい。 [2018/11/02(金) 00:43:17.26 .net]
あーめんどくさいなー、びんぼうだしさいごだし、ぼうそういこかなあれはあるか

576 名前:名無しさん@お腹いっぱい。 [2018/11/02(金) 00:45:18.15 .net]
わしかわいそーきょうじゅうにじょうものんだし、ああじゅよんのむと、ししょーあるksなきのせいかな

577 名前:名無しさん@お腹いっぱい。 [2018/11/02(金) 00:46:56.52 .net]
やだおおさかなんか、またもどってこないといけない

578 名前:名無しさん@お腹いっぱい。 [2018/11/02(金) 00:48:19.84 .net]
なんでかんじじゃないんだ

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/02(金) 01:24:08.04 .net]
fish使ってみたけどゴミじゃん
zshこそ至強

580 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/04(日) 19:43:05.08 .net]
[ $i -lt 100000 ] と [[ $i -lt 100000 ]] では後者のほうが速い

Linux上では2.5倍ぐらい後者が速いが、
WSL上では10倍以上の差をつけて後者が速い

他のシェルでも似たような傾向はあるがこれほどの差はない
どうもzshはシステムコール呼びすぎっぽいな



581 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/04(日) 19:49:50.35 .net]
[ ] が遅いって言うよりも関数呼び出しが遅い気がするな

while [[ $i -lt 100000 ]]; do を

foo() {
[[ $i -lt 100000 ]]
}
while foo; do
こんな感じに置き換えてみたら、同じように遅くなった

[ ] を使っていた場合、最初から関数呼び出し相当だったということかも

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/11/04(日) 20:00:30.18 .net]
ベンチマークで、ループしてevalとそうでない場合の
速度差を調べようと思ったんだが、まさかループの回数判定で
evalと同等の差がでるとはwww

evalもzshだけ遅い。他のシェルはeval使っていても
ほとんど速度は落ちないというのに






[ 続きを読む ] / [ 携帯版 ]

前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