板検索:
zsh その7 (509)
まとめビュー
1
名無しさん@お腹いっぱい。[]   投稿日:2012/05/24 16:34:43


2
名無しさん@お腹いっぱい。[]   投稿日:2012/05/26 18:19:44
新スレおめでとうございます^^

3
名無しさん@お腹いっぱい。[]   投稿日:2012/05/29 18:59:39
オワコン、巨大、物好きしか使わない、独自仕様、オナニースクリプトで鯖管を困らせる


>1

4
名無しさん@お腹いっぱい。[sage]   投稿日:2012/05/29 20:27:23
おつ
zshのドキュメントって読むのにすごい忍耐いるね
ここ読んどけって章ある?

5
名無しさん@お腹いっぱい。[]   投稿日:2012/05/29 21:08:38
使い始めの頃は prompt いじるために misc をよく見たけど、
最近は expn をよく見るかなー。

6
名無しさん@お腹いっぱい。[]   投稿日:2012/06/02 19:08:53
ログインシェルとしてzshを使っています.
ログイン時に~/.zprofile,~/.zloginが実行されてないようなんですけど(どういうわけかbashのprofileが代わりに実行されます),
ログイン時に~/.zprofile,~/.zloginを実行させるにはどうしたらいいですか?
ちなみに,Ubuntu 12.04LTSで使用しています.

7
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/03 13:22:44
ログインシェルがbashになっていてbashからzshを起動してるんじゃねーの?

8
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/03 17:28:13
いつのまにか PROMPT に %F とか増えてんだなー。
これ $reset_color じゃ完全には reset されなかったりするのか。
なんとなく % 1つで書きたいけど %f%k しろってことか。

9
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/09 22:54:47
入力行に色をつけるこってできる?

10
名無しさん@お腹いっぱい。[]   投稿日:2012/06/09 23:28:16
# プロンプト後に好きな色指定
PS1='$ %F{green}'
# エンター押したら実行前に色をリセット
preexec() { print -nP '%f' }

あたりでどうだろう。

コメント2件

11
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/10 09:55:44
>10
おーーいいかんじです。ありがとうございました。

12
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/16 14:46:52
>10
補完しようとしたらうまくいかないな
コメント1件

13
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/18 09:53:24
PROMPTを途中で改行してる場合で、改行する前の行にRPROMPTを表示させる方法ってありますか?

14
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/21 00:53:49
例えば。
RPROMPT="%{$(echotc UP 1)%}right prompt text%{$(echotc DO 1)%}"
きっと問題がある。

>12
zle_highlight=(default:fg=green)
使ったことないんであんましらんけど。
コメント2件

15
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/22 19:36:07
echo 1*0 てやったら
10 100 110 120 130 140 150
て出るんですが、普通にそのまま出力させるにはどうすればよかですか?

16
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/22 20:03:39
なにをいってるのかと思った。
echo '1*0'

17
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/22 22:35:13
うちのzshじゃそのまま出る
$ echo 1*0
1*0
何のオプションが効いてるんだろ
コメント1件

18
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/22 22:45:25
普通にワイルドカードでしょ。

19
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/22 23:26:21
>17
setopt noglob かな。なんでそんなもん set してんのかしらんけど。
コメント1件

20
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/23 07:33:49
>19
それだとワイルドカード自体効かなくなるから、
setopt nonomatch かと。
コメント1件

21
13[sage]   投稿日:2012/06/23 12:22:12
>14
ありがとうございます。
いままでのRPROMPTをそのままつっこんでも今のところ特に問題なく動きました。
いろいろ確認してみましたが問題なさげです。
コメント1件

22
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/23 14:09:40
>20
効かないからそのまま出るんだろって思ったけど、「なんで〜」に対する答か。
確かに noglob より nonomatch を設定していると考える方が自然だ。

23
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/23 15:12:00
>21
よく考えたら PROMPT に含める方が一般的だったかも。
>14 の方が簡単な気はするけど。

24
13[sage]   投稿日:2012/06/24 12:04:00
たびたびすいません。Emacs+multi-termだと崩れてました。
普段のkonsoleなら問題なかったのですが。

25
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/24 15:29:14
それは multi-term の問題では。
どう崩れるのかしらんけど。

26
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/26 22:49:57
bindkey で Ctrl+@ や Ctrl+- を設定したいんですが、 どうやればいいんでしょうか?
"^@" や "^-" では駄目でした。

27
名無しさん@お腹いっぱい。[sage]   投稿日:2012/06/26 23:06:25
^@ は普通それでいい。できないなら端末の問題かな。^- というコードはない。
xxd があればその入力にそれぞれ打ち込んでみるといい。
何か分かるかもしれない。
コメント1件

28
26[sage]   投稿日:2012/06/30 21:05:11
>27
端末の問題ですか・・・puttyごった煮版ですがこれが悪いのかな。
@単発なら \@ でできたのですが、 ^\@ はやはり駄目でした。

29
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/03 21:32:24
\@ って bindkey \@ foo ってこと?
@ なら bindkey @ foo でいいけど。

xxd がなければ ESC-x describe-key-briefly ^@ ってやれば一応入力キーは判るよ。
あと Ctrl-- も端末で適当なコードが入るようにすれば、それに bindkey して使えるよ。
putty でどうやるのかしらんけど。

30
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/03 22:48:13
そういえば今は setopt prompt_sp なんてあるんだな。今っつーか結構前からか。

unsetopt prompt_cr
PROMPT_EOL_MARK='%B%S%#%s%b'
PROMPT_EOL_MARK_LENGTH=1
PROMPT=$'%{$PROMPT_EOL_MARK\e[$[COLUMNS-PROMPT_EOL_MARK_LENGTH-2]C  \r%}'$PROMPT

とかいう設定はとっくに不要になってんだよなあ。

31
名無しさん@お腹いっぱい。[]   投稿日:2012/07/15 14:52:02
文字入力の補完はできますか?
emacsのようにどこかに補完リストを作っておいて、
たとえば、
ssh lo[補完キー]と入力すると、
ssh longname.com
と変換されるようにしたいのですが。

32
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/15 14:56:10
できます

33
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/15 15:11:50
sshならデフォルトで~/.ssh/configをもとに補完してくれるはずだけどな

34
31[sage]   投稿日:2012/07/15 15:25:23
できました。
すみません。なぜか出来ないと思い込んでいました。

35
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/19 20:31:24
使い始めたばかりの初心者なのだけれども、alias -g L='| $PAGER ' でヒストリに L のまま残るのが嫌。
ヒストリには | less と展開して残すか、Lに続けてtabを押したら | less と展開するようにはできないだろうか。


36
35[sage]   投稿日:2012/07/19 20:48:45
自己解決。
http://homepage1.nifty.com/blankspace/zsh/zsh.html
を使えばいいのね。

37
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/22 00:03:39
ls とか less hogehoge をヒストリに残さないようにするためにはどうしたらいいんだろ。

38
名無しさん@お腹いっぱい。[]   投稿日:2012/07/22 01:09:18
setopt hist_ignore_space
alias ls=' ls'

コメント1件

39
37[]   投稿日:2012/07/22 02:59:09
>38
おお、なるほど。これはいい。

40
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/22 15:44:35

41
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/22 18:14:30
うむ

42
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/25 21:36:44
5.0がでたってのにぜんぜんもりあがらないな。

43
名無しさん@お腹いっぱい。[]   投稿日:2012/07/25 21:57:41
使うヒトは当たり前のように開発版の4.3使っていて、
5は4.3のバージョンだけ付け替えたようなものだから
目立った変化がない。

44
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/25 22:32:53
まさか正式リリースで5.0になるとは…4.4だと思ってたのに

45
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/25 23:12:32
まあ、linuxのカーネルが3.0になったからってなんてことはなかったのと一緒か。

46
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 00:02:42
4.3 って開発版だったっけ?そうだった気もするな
コメント1件

47
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 00:09:42
>46
少なくとも4系は4.xのxが偶数がリリース版だった、はず

48
名無しさん@お腹いっぱい。[]   投稿日:2012/07/28 03:21:52
5のリリースメールから引用

> Version 5.0.0 of zsh is the new stable release. There are many changes
> since the last stable release series, 4.2, イカリャク

49
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 12:32:34
Debianでは4.3系を長らく使ってるから開発版って認識は薄かったなぁ
(zsh-betaってのもあるのにzshの方が4.3.10)

50
名無しさん@お腹いっぱい。[]   投稿日:2012/07/28 12:52:30
macportsも、よくわかってないヒトがメンテしてるのかな。

zsh @4.2.7 (shells)
zsh-devel @5.0.0 (shells)

51
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 13:55:20
パッケージのdevelとかbetaってのはソフトウェア自体の安定版/開発版だのとはまた別の基準でつけられるものでしょ
安定性重視のシステムで安定パッケージと認められるためにはそれなりのテストや議論を経てこれなら大丈夫って認められる必要があるんじゃね、しらんけど

52
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 14:24:13
hoge-develって、実行時には必要ないincludeファイルとかだけをまとめたパッケージだろ。
本体パッケージとバージョンは同じじゃないといけない、しらんけど
コメント2件

53
名無しさん@お腹いっぱい。[]   投稿日:2012/07/28 14:32:40
>52
それredhatのRPM

54
名無しさん@お腹いっぱい。[]   投稿日:2012/07/28 14:39:12
5が出る直前は
zsh @4.2.7 (shells)
zsh-devel @4.3.17 (shellls)
だったね。

55
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 19:56:17
devel ってか head 的な?

56
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/28 20:01:47
stableとunstable的な

57
名無しさん@お腹いっぱい。[sage]   投稿日:2012/07/30 03:31:08
>52
devel=正式以外含めた最新版だと思ってる人が多いとけど実際はその認識でも間違いはない感じ
名前通り開発する人が必要なものが追加されてる版、なのでバージョンも含めていろいろ試せるように最新なのが普通

商業用だったりディストリ毎のルールとかもあるから一概にはいえないけど

58
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/03 21:05:43

59
名無しさん@お腹いっぱい。[]   投稿日:2012/08/05 00:53:22
zshって、コマンド内にコメント含められないの?bashだとできるのに。
ls -al#a
みたいな。

60
名無しさん@お腹いっぱい。[]   投稿日:2012/08/05 01:36:11
setopt interactive_comments
対話環境(スクリプトではない、プロンプトが出る環境)でコメントを機能させる

61
59[]   投稿日:2012/08/05 02:18:34
おお、そんなオプションが。ありがとうございます

62
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/08 10:45:37
test

63
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/08 10:49:20
2重書き込みのため表示しません 内容を確認する

64
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/08 11:10:55

65
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/08 15:18:49
すいません、ありがとうございます。

66
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/20 18:07:07
非インタラクティブシェルとして起動するとき、aliasなどの設定ファイルを
読み込ませたいのですが、どうすればいいでしょうか?

67
名無しさん@お腹いっぱい。[sage]   投稿日:2012/08/20 18:10:02
.zshenv に書く。

68
名無しさん@お腹いっぱい。[sage]   投稿日:2012/09/24 16:20:06
$HISTFILEを手動で編集した後
fc -Rしても変更が反映されない(削除した行がbck-i-searchに候補として出てくる)んだけど
どうして?

69
名無しさん@お腹いっぱい。[sage]   投稿日:2012/09/24 21:39:45
追加されてるからかな

70
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 16:28:40
.zsh_history に日本語含んだコマンドは正常に保存されないの?
そういうコマンドも履歴検索したいんだが.

71
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 17:28:46
環境依存なのかな? こっちだとできた ↑
コメント1件

72
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 17:54:23
>71
うそ,まじで.自分の手元では
Windows7 64bit, zsh 4.3.12 (i686-pc-cygwin)
Ubuntu12.04, zsh 4.3.17 (i686-pc-linux-gnu)
のどちらでも無理だ.
echo ほげ

echo ほぃ?
みたいに .zsh_history に保存される.マルチバイトを考慮してない感じがする.
コメント2件

73
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 18:42:48
>72
MacOSX 10.7.5 zsh 5.0.0 (MacPortsからのインストール)

lessやtailでみると echo ほぃ? になってるけど
historyで確認すると echo ほげ となっているので,
C-rではちゃんと下になるな
コメント2件

74
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 20:18:46
>72
Arch Linux (uname -r は 3.6.6-1-ARCH) zsh 5.0.0-3だけど,
>73と同じく,lessでみるとecho ほぃ<B2>ぃ<A7>ってなってるけど,
historyやC-p, M-pではちゃんと
echo ほげぇ
ってなってるよ.

75
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/18 20:36:46
>73
zsh 4.3 でも history コマンドなら日本語表示できるわ.

zsh のバージョンを zsh-5.0.0 を試してみたら
73 と同じように C-r で日本語でも大丈夫だった.

理想的には .zsh_history 自体にきちんと保存して欲しいけど.

76
名無しさん@お腹いっぱい。[sage]   投稿日:2012/11/23 01:34:55
おー、文字によって化けたり化けなかったりするんだねー。
まあ内部形式なのかもしれないし、これで正しいのかも。少し無理があるか。

77
名無しさん@お腹いっぱい。[]   投稿日:2012/12/03 01:31:10
.zsh_history は、0x80-0x9f の符号が現れると
0x83 をメタキャラクタとしてくっつける。
作者はこれを仕様と言ってるんで、ヒストリファイル
を使う場合は手動で除去するしかないね。。。
(またはソースコードでこの部分をコメントアウトして
コンパイルするか…)
コメント1件

78
73[sage]   投稿日:2012/12/03 11:39:00
>77
内部で設定されているエンコードかと思って
変換できないか確認してダメだったけど
そういうことだったのね

79
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/03 23:51:59
あーそうなんだ。
.zsh_history は 0x80-0x9f の符号を何として扱ってるんだろうね。

80
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/10 20:38:45
算術演算をする (( )) ですが、中でプロセス置換 `` や $() を使うと挙動に違いが出ます。

$ cat hoge
0]1
$ (( i = `cat hoge | cut -d] -f2` ))
zsh: command not found: i
$ (( i = $(cat hoge | cut -d] -f2) ))
$ echo $i
1

zshでは``と$()は同一なものではないのですか?bashだと両者は同じになるのようですが。
コメント2件

81
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/10 21:11:51
>80
知らんかったけど、backquoteじゃなくて、$() 使った方がいいよ、って言うてはるね
backquoteはネストできん。などなど…
http://zsh.sourceforge.net/Guide/zshguide05.html#l117

82
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/11 00:22:27
$() 使った方がいいと思うけど、それは別として↓の結果を見ると
bash は ((...)) をとにかく arithmetic evaluation として解釈して、
zsh は arithmetic evaluation として解釈できるときだけしてるように見えるね。

% bash -c '(( echo [ ))'
bash: ((: echo [ : syntax error: invalid arithmetic operator (error token is "[ ")
% zsh -c '(( echo [ ))'
[

`...` の中にあるんだから解釈できるとは思うけど置換前に判別してるのかね。
man には More precisely, `((...))' is equivalent to `let "..."'. ってあるしバグなんじゃない?

83
80[sage]   投稿日:2012/12/13 08:46:32
>80,81
ありがとうございます。
不思議なのが、[ と ] 以外の記号だと大丈夫なんですよね。
これはバグと思ったほうがいいかもですね。

84
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/14 00:51:33
% zsh -c '(( `echo "["|echo 1` ))'
zsh:1: command not found: 1
% zsh -c '(( `echo "[]"|echo 1` ))'
% zsh -c '(( `echo "("|echo 1` ))'
zsh:1: command not found: 1
% zsh -c '(( `echo "()"|echo 1` ))'

って感じで ( でも出るよ。
括弧の対応がとれてないとなるのかもね。多分それだけじゃないけど。
バグなら法則性を求めてもあんまりしかたない気はするけど。

85
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/16 17:38:41
/etc/z*を読み込まないようにする設定ってユーザ権限の範囲でできない?
コメント1件

86
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/16 17:56:45
「そう思うんならお前がパッチ書け」で終了

87
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/16 17:58:19
それおもしろくないからやめた方がいいよ。

88
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/16 18:08:16
>85
~/.zshenv の中で setopt NO_GLOBAL_RCS すれば一番最初に読まれる zshenv 以外はスルーされるんじゃね

89
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/17 16:30:14
zsh-5.0.0(4.3系でも一緒でした)で補完候補に日本語ファイルがある場合、 文字化けするんじゃなくて$'\202'$'\240'.txt の様に文字コードで表示されて しまうのですが、原因に心当たりがある方いらっしゃいましたらご教示下さい。

90
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/18 02:35:53
configureで--enable-multibyteされなかったとか?

91
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/18 08:38:57
レスありがとうございます、環境をもうちょっと詳しく書きますね。
Androidでmultibyte-enableなzshを動かすべく、arm-linux上でstaticに
ビルドし、正常動作するバイナリを作成しました。これをAndroidに持って
来ると一見普通に動いている様なんですが、補完候補の日本語がコード
表示されてしまうんです。原因何だと思いますか?

92
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/22 14:13:21
setopt printeightbit

93
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 00:59:04
標準エラー出力のみをパイプに出力するには
$ command 2>&1 >/dev/null | command2
とすればいいようですが、これの仕組みが分かりません。
なんで 2>&1 としてるのに標準エラー出力は/dev/nullに行かないのですか?
コメント3件

94
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 07:34:36
>93
何回目のFAQだよw

2>&amp;1を実行している時点で標準出力(パイプ)が標準エラー出力にコピーされる。
(以後、2はパイプを指す)
次に、>/dev/null で標準出力が/dev/nullに変更されるが、
これはすでに2にコピー済みの標準エラー出力には関係ない。
コメント2件

95
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 08:34:16
>93
zshのバグです。でも便利なのでずっと直されてません。
コメント2件

96
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 09:39:01
>95
え?

97
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 17:42:22
おまえらってzedつかってる?

98
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:03:32
x="a b c"; for i in $x; do echo $i; done
ってやると、ash/bash だと、
a
b
c
って出ますが、zsh だと、
a b c
となってしまいます。
ash/bashと同じ動きをさせるにはどうすればいいでしょうか?
コメント2件

99
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:20:19
>98
set -o shwordsplit
コメント2件

100
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:21:41
>98
>99以外だと${=x} を使ってもおk
コメント1件

101
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:24:31
>94
それだと標準エラー出力も/dev/nullに流れてしまうことになり、
説明になってません。

>95
なるほど、バグだったのですか。
こういうバグは直せないですよね。直すと既存のスクリプトが動かなくなりますし。
コメント2件

102
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:36:16
>101
バグではない
理解が足りないだけだろ

103
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:36:52
>101
ム板に帰れ

104
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:44:56
>99,>100
ありがとうございます!

105
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 18:44:57
記憶が朧げだが、昔シェルスクリプト入門を謳ってネットで配布されていたテキストでも
同じ間違いをやらかしてなかったか

106
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/28 21:07:49
おお、いつのまにか zsh 5.0.2 が。
数値記法の 1_000 ってそういえば ruby にそんなんあったな。すっかり忘れてたけど。
setopt 的でもあるのか。

107
93[sage]   投稿日:2012/12/29 18:53:23
>94
もしかして >/dev/null よりも | が先に解釈されるんですか?
というか一般的に、リダイレクトよりもパイプの解釈が優先されるのがシェルの仕様?
コメント1件

108
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/29 20:40:41
>107
リダイレクトは左から順に処理されるだけ.

普通のコマンドは
1 => /dev/stdout
2 => /dev/stderr
だが,2>&1 は「2の出力先を1と同じにする」から
1 => /dev/stdout
2 => /dev/stdout (= 1)
になって,>/dev/null は「1の出力先を /dev/null」にするから
1 => /dev/null
2 => /dev/stdout
になる.

>/dev/null で 1 と 2 が同時に /dev/null となることはない.
パイプは /dev/stdout の出力が次のコマンドの /dev/stdin になるので,
この場合は標準エラー出力だけパイプされる.

ちなみに &> /dev/null とすると「1と2の出力先を(同時に) /dev/null にする」
ことができる.man bash で RIDIRECTION のところ読め.
コメント1件

109
108[sage]   投稿日:2012/12/29 21:23:21
書いてて思ったんだけど,
command1 2>&1 >/dev/null | command2
じゃなくて
command 2>/dev/stdout >/dev/null | command2
って書いても同じ意味だよね? 後者で書いたほうが
わかりやすいと思うんだけど,環境によっては動かなかったり
するのかな?
コメント1件

110
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/29 21:25:32
>93 は dup2 を知らないとよく陥る勘違いですな
FAQ になるのもわかる

せっかく zsh を使ってるのだから
command1 >&- 2> >(command2)
とでもするのが良いのかもしれん

111
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/29 21:38:57
>109
zsh のデフォルトの setopt multios な環境では意図通りには動かないね
setopt nomultios では大丈夫だけど

デフォルトの環境だと
command1 2>/dev/stdout >&- | command2
ときちんとクローズする必要があるんじゃないかな
コメント1件

112
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/29 22:23:27
>111
うーむ,ほんとだ.複数リダイレクトできるのも便利なんだが.
bash でいけるならいいか.シェルスクリプトで zsh は使わないよね?

setopt multios の状態で,試しにクローズしてやってみたけど,

$ command1 2>/dev/stdout >&- | command2
command1: line n: write error: Bad file descripter

と怒られる.command1 の 1 を破棄しないといけないのかと思ったが

$ command1 2>/dev/stdout >/dev/null >&- | command2
command1: line n: write error: Bad file descripter

変わらず.

$ command1 2>/dev/stdout >&- >/dev/null | command2

にしたら意図通りエラーが無くなった.リダイレクトの順番で
挙動が変わるのがよくわからんけど,あまり深入りしないほうがいいかな.
コメント1件

113
93[sage]   投稿日:2012/12/30 00:58:27
>108
ありがとうございます。そっか、2>&1 を特別視してましたが
これも単なるリダイレクトなんですね。

114
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/30 16:32:16
>112
代わって深入りしといたよ。
>/dev/null >&- だと最終的に close(1) されてるから無効だけど
>&- >/dev/null だと close(1) 後に open してるから有効になる。

>&- とか <> とかあんまり用途が思い付かなかったけど、
>&- には multios 下での用途があるのか。multios 下でも特殊なことをしなければ不要な気がするけど。

115
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/30 17:23:02
環境によって挙動に予想がつかないところがあるから、結局は
# 伝統的な方法
command1 2>&1 >/dev/null | command2
# プロセス置換を使う
command1 >/dev/null 2>>(command2)
あたりで落ち着くな
念を入れるなら /dev/null のかわりに >&- を使えばいいのか

昔から思ってるけど、リダイレクトの周りの空白の入れ方って悩ましいよね
ファイル記述子の場合は制限があるし
最近は空白を使わずに詰めて書くことが多いかな
コメント1件

116
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/30 18:33:08
さっぱり話題についていけん・・・(´・ω・`)
manを読む努力せんとなぁ

117
名無しさん@お腹いっぱい。[sage]   投稿日:2012/12/30 19:50:17
>115
リダイレクト先がファイルパスなら空白入れてるわ
数字なら詰めて書く…っていうか詰めないと駄目か?

118
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/08 22:50:20
配列の要素の最大・最小を返す機能てないですか?こんな感じで
$ a=(1 3 2)
$ echo $a[MAX]
3

さすがにないですかね?でもzshならやってくれそうな気も

119
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/08 23:30:46
変数で大小判定させて
より大きければ変数1をそれにする :MAX処理
より小さければ変数2をそれにする :min処理
というシェルスクリプトでいけそうだな。

120
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/09 00:46:12
echo ${${(n)a}[-1]}
とか。${} が二重になるのがちょっといやなんだよなあ。
コメント1件

121
同じ要領で最小つくればいい[sage]   投稿日:2013/01/09 01:11:52
できた。.zshrcに書いて0以上の整数値を因数にぶちこんで動作する
Max() {
x=$1
for i in $@
do
if test $x -lt $i ; then
^ x=$i
fi
done
echo $x
}

*********
動作の一例
*********
Max -10 -1
-1

Max -10 2 -1 1
2
コメント1件

122
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/09 02:23:48
>120
ありがとうございます。(n)でnumericalソートを意味するんでしょうかね?
ただ、man zshparamを見てみたんですがソート云々のオプションはなさそうでした。
どの辺見ればいいですか?

>121
いやそれは・・・

123
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/09 02:49:41

124
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/09 03:04:57
>123
ありがとうございます!

125
118[sage]   投稿日:2013/01/09 23:30:08
何度もすいません、配列絡みでもう1つ質問させてください。

zshの配列の要素数って上限ありますか?

$ test=({1..300000})
$ echo $test[270000]
zsh: subscript too big: 270000

bashだとちゃんと返してくれるのですが・・・。

$ for((i=1;i<300000;i++)) ; do test[$i]=$i ; done
$ echo ${test[270000]}
270000
コメント1件

126
名無しさん@お腹いっぱい。[]   投稿日:2013/01/09 23:49:41
>125

やってみたけど、

$ test=({1..300000})
$ echo $test[270000]
270000
$ echo $ZSH_VERSION
5.0.0
$ uname -a
Darwin thyme.local 12.2.1 Darwin Kernel Version 12.2.1:
Thu Oct 18 16:32:48 PDT 2012;
root:xnu-2050.20.9~2/RELEASE_X86_64 x86_64 i386 MacBookAir5,2 Darwin
コメント1件

127
118[sage]   投稿日:2013/01/10 00:11:06
>126
4.3.17だったのですが、5.0.2に上げたらあっさりできました・・・
やはりzshはこまめにアップデートしたほうがいいですね。
どうもありがとうございました。

128
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/10 04:29:38
これか
> The arbitrary limit on parameter subscripts (262144) has been removed. As it was not
> configurable and tested in an inconvenient place it was deemed preferable to remove it completely.
> The limit was originally introduced to prevent accidental creation of a large parameter array
> by typos that generated assignments along the lines of "12345678=0". The general advice is not to do that.

129
名無しさん@お腹いっぱい。[]   投稿日:2013/01/10 10:41:43
  ★★★チベットの独立は日本の核心的利益である★★★
  http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/78

  ¥¥¥¥¥¥¥『万有サロン』書き込み大賞・総額100万円¥¥¥¥¥¥¥¥¥¥¥¥

  この掲示板に優秀な書き込みをして、総額100万円の賞金をゲットしよう!(*^^)v
    万有サロン
      http://jbbs.livedoor.jp/study/3729/
    書き込み大賞の詳細
      http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1069922074/78-
    書き込み大賞の詳細(資料倉庫内)
      http://www2.tba.t-com.ne.jp/a-z/omake/banyu/taisho.htm

  また、あらゆる疑問に関する質問を、携帯電話やメールでも受け付けています。
    電話番号 080-4437-4187
    メール  aaa-zzz@tba.t-com.ne.jp

  ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

130
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/29 21:47:07
配列をexportするのって駄目なんだっげ?
export array=(a b c)てやったら怒られた
コメント1件

131
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/30 00:38:13
>130
そのコード/bin/shだとokみたいやけど、zshやとエラーなるね
ary=(x y z); export ary ってやらないとダメっぽい
あと、typesetでごにょごにょやってもいけるみたいやけど、どっちにしても1ステートメントでは無理なのかも
コメント1件

132
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/30 03:06:16
>131
うーむary=(x y z); export aryでエラーは出ないんだけど、子プロには届いてないっぽい
shも同じだわ
配列ってそういうもんだったっけ?
コメント1件

133
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/30 13:36:49

134
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/30 19:21:02
zshなら…それでもzshなら何とかしてくれる

135
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/31 08:42:34
そもそもどういう経緯で「配列を環境変数に使える」って思い込みができたんだろう
PATHだって:でくっつけた文字列でしょ?
コメント1件

136
名無しさん@お腹いっぱい。[sage]   投稿日:2013/01/31 15:55:45
環境変数という概念が介在していないように見える。
シェル変数をプロセス間で持ち回るにはexport、ぐらいの認識なんじゃね?
コメント1件

137
130[sage]   投稿日:2013/02/01 00:22:47
>135
そんなに変な発想かな?できたらできたで便利だと思うんだけど
実装されていないのは、オーバーヘッドがでかいから? or それとも単に需要がない?

>136
その程度の認識です、自分あんま詳しくないもんで
つか、正しくは「プロセス間で持ち回る」じゃなくて「子プロセスに渡す」だよね

138
名無しさん@お腹いっぱい。[sage]   投稿日:2013/02/01 00:28:42
ちょっと実験してみたのですが

$ zsh --version
zsh 5.0.2 (x86_64-redhat-linux-gnu)
$ typeset -ix i
$ i=1
$ typeset -ax a
$ a=(a b)
$ typeset +m i
integer exported i
$ typeset +m a
array exported a
$ cat file
typeset +m i
echo "i="$i
typeset +m a
echo "a="$a
$ zsh file
exported i
i=1
a=

結局、typeset -xすると、-iや-aなどの他の属性が消されてしまうということかな
関数のexportもできたら便利だと思ったけど、関数はtypest -fによる属性だからこれも無理かな

139
名無しさん@お腹いっぱい。[sage]   投稿日:2013/02/02 10:49:55
環境変数はシェル変数ではないから基本的には用途違い(ともいいきれないか)だけど、
子シェルに配列変数を渡したいってことかな。それも環境変数的に。

export ENV="$(typeset -p i a)"
zsh -c 'eval $ENV; ...'

とかはしたくないってことなんだよね。
typeset -xT FOO foo が近いかな。これも子シェルで typeset しないとだめだから大差ないか。
ついでに separator と同じ文字が使えないし。

typeset -xT FOO foo
foo=(a b)
zsh -c 'typeset -xT FOO foo; ...'

どこで使うのかしらないけど↑の ENV みたいなんを .zsh* でなんかすれば
なんとかなんじゃない?
どーしてもやりたければ。
コメント1件

140
130[sage]   投稿日:2013/02/05 02:08:57
>139
例示thx。そのやり方はさすがに面倒なんで諦めます

以前ならawkとかperlとかpythonでやってたような数値演算込みのスクリプト処理を
最近は何でもかんでもzshでやろうとする癖が・・・

141
名無しさん@お腹いっぱい。[sage]   投稿日:2013/02/21 03:45:07
関数の中身を履歴に加えることってできませんか?たとえば

$ hoge(){
echo fuga
}
$ hoge
fuga
$ history
  1 hoge(){\necho fuga\n}
  2 hoge

となりますが、こんなふうに関数の中で実行したものも履歴に残って欲しいんです。

$ history
  1 hoge(){\necho fuga\n}
  2 hoge
  3 echo fuga

142
名無しさん@お腹いっぱい。[sage]   投稿日:2013/02/21 21:08:43
否定する気はないけど、何のために?
対象って全関数じゃないよね。
コメント1件

143
名無しさん@お腹いっぱい。[sage]   投稿日:2013/02/22 09:23:39
プロファイラがほしいってこと?

大地氏の software design 記事のデバッグ編見た方がよさそう
コメント1件


144
141[sage]   投稿日:2013/02/23 03:41:02
>142
例えばあるファイルをサーチして開く、という自作の関数を実行した後
そのファイルをまた開きたい場合、履歴に入ってればCtrl+Pですぐ呼べますよね。
全関数はもちろんありえないですが、関数の任意の部分をコマンドなりディレクティブなりで
設定してそういうことができたりしないかなと思いまして。

>143
プロファイラって言うんですかねこういうの?

145
141[sage]   投稿日:2013/02/23 04:51:43
すみません、単に print -s でいけました。失礼しました。

146
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/04 00:37:19
echo | cd すると (pwd now: ~) って出るけどこれ何のための仕様かな
別に入力で何か変わるわけじゃないようだけど

147
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/04 05:21:31
zsh はパイプラインの右端はカレントシェルで実行されるから
ksh 系以外のシェルとは挙動が変わる

148
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/09 23:52:53
あーそうなんだ。

% {echo $ZSH_SUBSHELL}
0
% {echo $ZSH_SUBSHELL} | cat
1
% echo $ZSH_SUBSHELL | cat
0

確かに…?最後が 0 になるのは展開のタイミングかな?
なんで右端が current なのかね。

てか cd の出力理由の話とは違うような。
出力は pipe であることが条件の1つみたいだし、
その条件下では右端で current であることも条件になるかもしれないけど。

149
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/10 01:09:01
cd でカレントディレクトリが変わるから注意喚起してるんでは
コメント1件

150
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/10 01:16:01
最後が 0 になるのは echo が内部コマンドでフォークする必要がないから
コメント1件

151
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/15 23:36:21
>149
あー普通 pipe でディレクトリ変えることないから何かおかしいんじゃないかって?かねえ。

>150
内部コマンドって builtin のこと?だとすると ↓ の説明がつかないかと。
というかその条件は {echo $ZSH_SUBSHELL} でも同じような。

% command echo $ZSH_SUBSHELL | cat
0
% /bin/echo $ZSH_SUBSHELL | cat
0

つかまたちょっと色々試してたらよくわからんことにでくわしてしまった。
1つめは固まらないで2つめが固まる。builtin/command で固まるか変わる。
うーん…

% : 1>&2 | : =(:)
% : | : =(:)

まあ気にしない方がいいね。
理由がすぐわかるならちょっと知りたいけど。

152
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/20 05:29:38
: って何ですか?trueを返すコマンド?
コメント1件

153
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/20 09:48:22
何もしないコマンド

154
名無しさん@お腹いっぱい。[]   投稿日:2013/03/20 11:46:11
引数の展開は行う。ので、その副次的結果も発生する。

155
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/20 11:49:58
>152
run-help :
でわからないかな。

156
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/24 12:44:28
setopt auto_pushd しておいて
cd -[TAB] して番号でディレクトリを移動できるのが便利なんだけど、
zshの補完機能全般においても、補完候補一覧から番号で選択できるように
できないのかな。
候補が一つになるまで文字入力とTAB入力を繰り返すとか、
TABを何度も入力して候補を選択するとか面倒で…。
コメント1件

157
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/27 02:54:31
>156

zsh anything.el-like widget
https://github.com/zsh-users/zaw

これを一般の補完候補に拡張すればいいんだろうけど、
そんなに必要か?
コメント1件

158
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/27 04:24:23
anything.elてあのemacsの?
すごいすごいって聞くけどemacs自体使わないのでどうすごいのか分からない
誰か産業でオナシャス↓

159
名無しさん@お腹いっぱい。[sage]   投稿日:2013/03/27 04:31:50
ごめんググれば色々あるね
まぁ試してみよ

160
156[sage]   投稿日:2013/03/28 02:43:23
>157
ディレクトリの移動についてはcdrとzawを入れたらだいぶ楽になった。
これならたしかに番号入力要らない感じ。
あと補完機能全般についてはauto-fuを入れたら少し楽になった。
数年ぶりにzshの設定ファイルをいじったんだけど、
いつの間にかものすごく進化しててびっくり。

161
名無しさん@お腹いっぱい。[]   投稿日:2013/04/21 22:13:45
http://unix.oskp.net

たまにチェックしてるサイトだがWindows+SFUでzsh動いたみたいだな〜( ̄∀ ̄)

割と便利そうだ

162
忍法帖【Lv=12,xxxPT】(1+0:8) []   投稿日:2013/04/21 23:02:00
cygwinとどっちがいいの?

163
名無しさん@お腹いっぱい。[]   投稿日:2013/04/22 08:27:55
そういう質問をする人には区別が付かないんじゃないかなあ

164
名無しさん@お腹いっぱい。[]   投稿日:2013/04/23 22:56:28
cygwinもInterixもただなんだし両方つかってみればどうかな
cygwinはソフト多い、動作遅い

SFUは動くソフト少ない、動作速い

て感じ

165
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/24 00:18:37
動作の遅さでzsh含めたUnix環境あまり使ってなかったから
SFUに手を出してみるかな。

166
忍法帖【Lv=2,xxxP】(1+0:8) []   投稿日:2013/04/24 22:36:07
cygwinってなんであんな遅いんやろね……
コメント1件

167
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 01:18:54
lessを実行してるのに.zshenvの中身が呼ばれておかしいなと思ってたら
/usr/bin/lesspipe.shの先頭が#!/bin/shになってるせいだった
いやぁ何事かと焦った

168
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 02:40:52
>166
cygwinはminttyだけあればいい
コメント1件

169
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 03:26:19
昔は遅い遅いと言われてきたが、最近のマルチコア、SSDな環境ではどうなんだろ
案外ストレス感じなかったりして

170
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 07:35:47
fork&execまわりが特に遅いと思う。もともとWindowsにない機能だから
しょうがないとは思うけど。

171
忍法帖【Lv=2,xxxP】(1+0:8) []   投稿日:2013/04/25 07:40:15
>168
じゃあ各種コマンドはどうすんの?mingw?

172
名無しさん@お腹いっぱい。[]   投稿日:2013/04/25 08:59:39
CygwinはWindowsサブシステムやAPIを経由してNTカーネルとやりとりするけど、
SFU(SUA)はInterixサブシステムが直接NTカーネルとやりとりするんだが、オーバーヘッドが少ない分、動作が速いらしい。

昔のSFUはCygwinと同じUNIXらいくなツールセットだったけど InterixサブシステムはNTカーネルで動くUNIXレイヤーなのでネイティブ反応速度が可能

173
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 22:23:34
便利そうで意外に使ってる人を見ない>SFU

つか、最近のWindowsはマシなシェルを備えてるんじゃなかった?よく知らんけど

174
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/25 23:07:21
SUA入れてみようと思ったら非推奨になってるし
http://technet.microsoft.com/ja-jp/library/hh831568

175
名無しさん@お腹いっぱい。[]   投稿日:2013/04/26 23:34:05
すみません,凄く単純な質問があります.

% a="-l"
% ls $a
→ OK

% a="-l -a"
% ls $a
ls: 無効なオプション -- ' '

後者でエラーがでるのを回避するにはどうすればよいのでしょうか?
echo ls $a は「ls -l -a」なので,エラーになる理由がよく分かりません.

参考になるサイトだけでも紹介いただけるとありがたいです.
よろしくお願いいたします.
コメント1件

176
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/26 23:44:22
FAQ だね

zsh はデフォルトでは空白分割しない
一時的に ls ${=a} として挙動を変えるか
setopt SH_WORD_SPLIT でデフォルトを変更するか

普段から zsh スクリプトを書いてるとデフォルトの動作の方が楽だな
まあ楽をするために敢えてこうしてるはずだが、他のシェルに合わせる人も多いな

177
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/27 00:07:38
lsのオプションの l と a とは -la と書けるからこれでどうだ?
空白問題は解かずに回避できないか?

178
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/27 00:15:24
ヘビーユーザはそっちほうが多いのかな
例えばどういうときに楽ですか?
コメント1件

179
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/27 09:18:26
a=(-l -a)
コメント2件

180
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/27 10:11:47
>175-176
evalすればええんちゃうの

181
名無しさん@お腹いっぱい。[sage]   投稿日:2013/04/29 22:00:05
$=a でだめな理由が?
zsh 以外でも動くようにとか?

まあ >179 でいいと思うけど。

>178
分割してほしくないとき。そういうことはきいてない?
簡単な例だと

% ls -1
a
b b
c
% for i in *; ls $i

とか。当然 shwordsplit でも "$i" と書けばいい。言うまでもないか。
それがいちいち面倒、というかどんなデータがくるか判らなかったり、
多くのファイルがあって全ファイル名を把握してないときに
space がきてもいいようにとりあえず "$i" って書くなら
最初からそれがデフォルトの方が助かる。
分けたきゃ >179 みたいにも書けるしね。

単なる文字列として変数に入れてるのに
たまたま space が入ってると意図しない分割になるんが厄介。
ものによるけど、指定したときだけそう動いてくれればいい。特に使い捨てではないスクリプトでは。

なんか書いてたら長くなった。失礼。

182
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/01 02:22:13
space含む場合は確かに便利かも。自分の場合はまずないので
それじゃあbashと同じでいいやって感じかな。まぁ好みの問題か

183
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/02 00:26:34
space含む場合に便利ってより、逆だとspace含む場合にわずらわしいって感じかな。

184
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/06 18:02:00
for ((count = 0.0; count < 1.0; count += 0.05))
do
echo $count
done

これの出力結果は、
0.0000000000
0.0500000000
0.1000000000
...
といった感じになります。
出力の桁数の調整はどうしたらできるでしょうか???

185
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/06 18:49:23
printfっていう便利な組み込み関数があってね

186
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/06 22:32:40
なるほど。これは便利
% printf '%.2f\n' 0.3333333333
0.33

187
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/09 23:47:47
$- で出力される文字の意味って何ですか?
コメント1件

188
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/10 00:03:18
>187
知らんかったからman引いてみた
zshall で見つからんかったけど、man bash に載ってた
> The current set of options may be found in $-.
一応試してみると
% echo $-
05689JNXZghiklms
% setopt +0
% echo $-
5689JNXZghiklms

になるから、bash と同じように扱われてるっぽい
コメント1件

189
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/10 11:11:43
>188
ありがとう
自分もzshall見たのですが記載がないぽいんですよね

190
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/10 13:07:29
載ってるやん
- <S> Flags supplied to the shell on invocation or by the set or setopt commands.

191
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/10 13:29:32
検索しにくいよなぁ。

192
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/12 14:16:16
zshallを見ると、自分はzshの全機能の1割も使ってないかもなぁ、と思えてくる

193
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/13 11:33:48
それでいいのだ

(ごみの山の中に一片の価値のあるものを見つけられたならそれは幸せである)

194
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/13 12:46:49
うむ
zshに限らないけど、何年たっても「こういう機能があったんだ!」て気付くのが楽しいね

195
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/14 00:48:01
シェルは一生使う手足みたいな道具だからねえ

196
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/14 00:52:19
私はシェルになりたい

197
名無しさん@お腹いっぱい。[sage]   投稿日:2013/05/14 20:59:02
俺がzshだ!

198
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/03 23:05:06
$(builtin foo) って command bar くらいのコストかかんだね。
同じ桁くらいの。
まあそれはそうか。 (builtin foo) みたいに subshell 内みたいだし。
でも $(<foo) みたいに速いといいよなあ。
普通気にしないだろうけど。

199
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/06 07:42:18
ビルドに挑戦したんだけど、zsh.mdhが作られなくて失敗する。
で、いろいろ試して、
export GREP_OPTIONS='--color=auto --binary-files=without-match -Hn'
が原因。ファル名と行番号は常に表示したいから設定してたんだけどなぁ。

200
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/06 16:58:39
出力の形式を変更しちゃうようなのをデフォルト設定するのはどうかと。
grepはシェルスクリプトなどでも使われるわけだし。
そういう設定はシェルのエイリアスとかを使うのがいいんじゃない。

201
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/07 00:24:46
なぜだろう、alias ではなく環境変数を使いたい

202
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/07 08:47:31
そういやgrepyのオプションは色々トラブルの元になると聞くね
自分もエイリアスにしてるわ

203
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/07 15:33:58
結局aliasに戻したんだけど、GNU grep検出した時点で、configureが
GREP_OPTIONSをクリアしてくれても良い気はするの。

204
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/07 18:56:18
ママにビルドしてもらえ

205
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/07 23:55:22
ママは死んだ。もういない。あのときパパに alias をみられなければ…

206
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/21 11:15:57
locateを使ったファイル名補完ってできますか?
$ vi http<キー>
でlocate httpの結果を補完候補にしてくれるような。
できれば通常の補完とは使い分けたいので、別のキーに割り当てられるといいんですが。
コメント1件

207
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/21 13:50:45
>206
zshに死角なし…あとはよろしく
man zshcompwid の COMPLETION MATCHING CONTROL を理解すればなんとかなりそう

zle -C loc menu-expand-or-complete _loc
bindkey '^X^X' loc
_loc() {
files=($(locate $words[2]))
# ここのパターンの指定をどうにかすればいけそう
compadd -M 'e:.=**' $files
}

208
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/21 23:55:39
anchorという意味がよくわからないけど、こんな感じにしたら動いているようです。
_loc() {
local wd=$words[-1]
if [ "$wd" = "" ]; then
return 0
fi
files=($(locate $wd | grep ".*${wd}[^/]*$"))
compadd -M 'l:||.=**' -- $files
}

ちなみに、これを思いついたのはEverythingが便利すぎるからなんですが、
http://www.voidtools.com/
unixコマンドラインで同じようなのってないんでしょうか。
cursesでlocateをインクリメンタルサーチするとか…
でもやっぱりできるならシェルでやるのが一番便利でしょうね。
コメント1件

209
名無しさん@お腹いっぱい。[sage]   投稿日:2013/06/22 01:07:55
>208
r:とかl:とか色々でてきてあきらめた…でも動いたようで良かったですな。
そういうツールは聞いたことないけど、UNIX的思想からいくとlocateの結果をgrepでフィルタして…となりそう

210
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/14 00:00:00
zshをログインシェルにして、boot直後にターミナルでログインするとき、プロンプトが出るまで30秒くらいかかる。compinitしてるのが原因と思われるが、皆さんどうですか?

x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
メモリ12GB、HDD 1TB、Gentoo Linuxです。

211
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/14 00:00:00
そのスペックでcompinitに30秒はさすがにおかしいと思われ
コメント1件

212
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/14 00:00:00
ATOMですらcompinitは一瞬だから他の原因だろう
コメント1件

213
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/14 00:00:00
ターミナルって、コンソールじゃなくてターミナルってこと?
zsh以外のシェルに戻したら早くなるの?
コメント1件

214
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/14 00:00:00
すみませんが詳しい方のみ回答をお願いします
すみませんが詳しい方は回答のみお願いします

215
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/15 00:00:00
>211>212
そうですよね。
.zshrcのcompinitをコメントアウトすると早くなります。
他の原因なのかもしれませんが。
HDDの読み込みが遅いとかそういうのかもしれません。
.zcompdumpは毎回作り直しているわけではないようです。

>213
コンソールです。すいません。zsh以外だと速いですね。

216
215[sage]   投稿日:2013/07/16 00:00:00
追記します。
結果から言うと、compinitでの遅延ではなかったようです。
zshrcを一行ずつコメントアウトしてリブートする(ブート後の初回起動時以外は問題がないためです)
する方法を試しましたが、なぜか再現性が明らかではないのですが、PROMPTを操作する行の有無で
遅延があるか決定されるような印象でした。
一回起動し、速く起動したzshrcで試しにもう一度再起動すると今度は起動が遅かったりしたため、
完全に確定しているわけではありません。今後再調査してみます。
ただ、zshrcに何も記入しない状態では、起動は速いようでした。

また、zshrcの最後の行をecho "zshrc end"としてみると
比較的瞬時にzshrc endが表示され、その後30秒程度の遅延があるようでした。
よってzshrcロードの後に遅延が生じているようでした。
こちらに関してはいつか暇なときにzshrcのソースに当たりたいと思います。

ログインシェルをbashにすると、一瞬で起動しました。
コメント1件

217
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/17 00:00:00
.zshrcの後に読まれるのは/etc/zloginと.zloginしか無い
ここで何か変な処理してるんじゃないの
非ログインシェルでzshを起動したときは?
コメント1件

218
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/17 00:00:00
select ループの数字付けのフォーマットを変えられないのかな?
一桁で済むときはいいけど、そうじゃないときはズレるのがどうも気になる

219
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/19 00:00:00
それ俺も思った
zshにしては気が利かないな

220
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/20 00:00:00
>217
レスが遅れ申し訳ないです。
そう思うんですが、システムには~/.zloginも/etc/zloginも作成していません。これらのファイルはありません。
例えばログインシェルをbashにしてrebootして、bashが立ち上がってからコマンドでzshを立ち上げると
一瞬で起動しました。再現性がありました。
確かにログイン関係で遅延が発生しているっぽいのですが。
.zloginを作成していないことによる問題とは考えにくく(試してはいないのでわかりませんが)、やはりソースに当たる必要がありそうです。
どうもありがとうございました。

221
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/23 00:00:00
ログインシェルの場合、読み込み順はこうだよね
/etc/zshenv
$ZDOTDIR/.zshenv
/etc/zprofile
$ZDOTDIR/.zprofile
/etc/zshrc
$ZDOTDIR/.zshrc
/zlogin
$ZDOTDIR/.zlogin

結局再現性がないと問題特定するのは無理なんじゃ

222
名無しさん@お腹いっぱい。[sage]   投稿日:2013/07/31 00:00:00
FreeBSDでHISTFILEが大きくなるとログアウトが遅くなるなあ。
FreeBSD 8.1-RELEASE-p12
zsh 4.3.11 (amd64-portbld-freebsd8.1)
930035バイト、約33000行で10秒くらいかかるようになってた。
Linuxではこんなになったことないんだが。
コメント1件

223
名無しさん@お腹いっぱい。[sage]   投稿日:2013/08/01 00:00:00
>222
portsのオプションでMEMをoffにすると直ると思う

224
名無しさん@お腹いっぱい。[sage]   投稿日:2013/08/14 00:00:00
俺には関係ないんだけど何そのオプション

225
名無しさん@お腹いっぱい。[sage]   投稿日:2013/08/14 00:00:00
>216
まあ別にいいんだけど、PROMPT に問題がありそうならそれを貼れば?
コメント1件

226
216[sage]   投稿日:2013/09/02 23:23:39
大変長らく空いてすいません。
boot直後初回のコンソールログインが非常に時間がかかる件(基本30秒以上だった)ですが、
再現性がなく、何が原因なのか判断に困る状態でしたが、
おそらくハードディスクの不良であったという事が判明しました。
あの後、systemdが起動時に自動でboot後になぜかrebootするようになっていまい、
journalctlなどを見ても原因がはっきりとわからずハードウェア的なものを疑い、
ハードディスク載せ替えを行ったところ、一瞬でログインできるようになりました。
.zshrcなど、設定の問題ではなかったようです。

>225
PROMPTに問題がありそうとは思っていませんでした。
PROMPTを設定する行為に問題がありそうと思っていました。
ちなみにPROMPTは
PROMPT=$(print "%{\e[00;37m%}{%{\e[01;37m%}%n%{\e[m%}@%{\e[01;37m%}%m%{\e[00;37m%}} $%{\e[m%} ")ですね。特に変哲ありません。


227
名無しさん@お腹いっぱい。[]   投稿日:2013/09/05 14:32:55
bashのときは!番号でhistoryの番号実行しようとすると,コマンドが表示されるまでで止まってもう一回エンターをおして実行になってたんですが,
zshに乗り換えたら!番号でエンターをおしたらコマンド実行まで行ってしまいます.
コマンド表示までで止めるのはどうすればよいでしょうか.

228
名無しさん@お腹いっぱい。[sage]   投稿日:2013/09/05 15:17:29
tab
基本的にzshはtabで色々対応できる。補完とかその展開とか。
コメント1件

229
名無しさん@お腹いっぱい。[]   投稿日:2013/09/05 23:55:00
>228
おお!あざーっす

230
名無しさん@お腹いっぱい。[sage]   投稿日:2013/09/09 15:24:16
>227
わかんない時はとりあえず tab 押すだろ

231
名無しさん@お腹いっぱい。[]   投稿日:2013/09/11 18:16:45
ここで聞くべきかTeXスレで聞くべきか迷ったんだけど,
vim-latexで書いてるときに\llでコンパイルしますよね.
bashだと\llでコンパイルし終わると自動的にvimの画面に戻るんですが,zshだとコンパイル終わってもvimにもどらずctrl cを押さないとvimにもどりません.
どうしたらコンパイル終わって自動でvimに戻るかな

232
名無しさん@お腹いっぱい。[sage]   投稿日:2013/09/22 01:37:22
tex というか vim スレのような気が…
コメント1件

233
名無しさん@お腹いっぱい。[sage]   投稿日:2013/09/22 23:52:13
>232
そうですね。
でも諦めてlatexmk使うことにしたんでもう大丈夫になりました

234
名無しさん@お腹いっぱい。[sage]   投稿日:2013/09/23 01:34:51
え?いまなんて?

235
名無しさん@お腹いっぱい。[]   投稿日:2013/10/09 09:42:12
autoload -U compinit
compinit
が.zshrcに書いてあると読み込みの段階で固まっちゃうんですがこれはなぜでしょうか.
この二行をコメントアウトすれば普通にとおります.

236
名無しさん@お腹いっぱい。[sage]   投稿日:2013/10/09 21:02:02
通常エラー出力と通常出力、それぞれを
別のパイプに通すことは可能?

237
名無しさん@お腹いっぱい。[sage]   投稿日:2013/10/09 22:14:43
プロセス置換を使った方がてっとりばやい
> >(command1) 2> >(command2)

238
名無しさん@お腹いっぱい。[sage]   投稿日:2013/10/20 15:31:01
なるほどその手があった

239
名無しさん@お腹いっぱい。[sage]   投稿日:2013/11/28 02:55:17
(( )) の中で浮動小数を代入した変数って、デフォルトは typeset -F なんですか?

$ unset a
$ (( a = 1.23456789e-8 ))
$ typeset -p a
typeset -F a=0.0000000123
$ unset a
$ typeset -E a
$ (( a = 1.23456789e-8 ))
$ typeset -p a
typeset -E a=1.234567890e-08

typeset -E をデフォにしたいのですが、できますか?
コメント1件

240
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/18 16:15:48
zshのヒストリーが1万件になって削除されるようになってしまった。

みんなはzshのヒストリーの上限何万にしてる?(何百万?)
コメント1件

241
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/18 16:25:32
>239
function () {
unset $x
typeset -E $x
}

とかの要領で.zshrcに書き込むんじゃないか?
コメント2件

242
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/18 22:12:56
>240
百万
1万は少ないほうじゃない?

243
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 00:15:25
確かに。思えば1年ぐらいで埋まってしまった。

244
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 14:07:09
そんなに保存しておくとエロいURLをwgetした履歴とかが
いつまでも残っちゃうじゃん
コメント1件

245
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 14:42:16
wget "URL"
形式で打ち込んでいるならば

cat <<EOF >>.~/.zshrc
setopt histignorespace
alias cat=' wget' #空白を前方に差し込んで、ヒストリーログの書き込みをさせない
コメント1件

246
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 14:44:21
ワロタ。EOF忘れてるw

247
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 15:09:28
>244
別にいいじゃん。

248
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/19 21:58:39
ちょっとhistory絡みの質問していいですか?

zshの状態から「bash」って打ってbashに切り替えると、何故かzshの履歴が
変な風に見えてしまうんですが、何でこうなるんですかね?

こんな感じ↓

$ echo "current shell is zsh"
$ bash
$ echo "current shell is bash"
$ hisotry
501231 : 1387372257:0;echo "current shell is zsh"
501232 : 1387372282:0;bash
501233 echo "current shell is bash"

もちろんzshとbashのhistoryはそれぞれ.zhistory、.bash_historyと分けています。

249
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/21 14:09:53
そういう hisotry コマンドがあるんじゃない?

いやまあ、2つがリンクしてたりはしない?

>241
どゆこと?

>245
>>. と cat= で悩んじゃったじゃないか。

250
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/21 15:39:42
setopt hist_ignore_all_dups hist_save_nodups
しても10kとかいくもん?

251
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/21 16:39:53
昔は HIST_IGNORE_ALL_DUPS や HIST_IGNORE_DUPS を有効にしていたけど
いつ何をやったかを後で調べたいときには、ほぼ正味の履歴を残しておく方が都合良いと気付いて無効にした
HIST_FIND_NO_DUPS を有効にしとけば、使い回しのときにも欝陶しくないし

252
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/21 20:00:41
言われてみると確かに

しかし自分の履歴ってのはなんか気恥ずかしいものがあるな
数年前のトラブってる業務やったときの履歴を見て遠い目をしたりw

253
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/21 21:34:12
>241
自分も一瞬こんな書き方があるのかと思った
要は適当な関数作れってことよね?

254
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/23 00:46:32
履歴のインクリメンタルサーチって、複数のワードでマッチングすることってできますか?

たとえば、Ctrl-r を history-incremental-search-backward にしてて、履歴が
$ history -4
4283 echo hoge
4284 echo fuga
4285 echo HOGE
4286 echo FUGA

という状態のとき、 echo hoge を取得しようと Ctrl-r e と押すと echo FUGA が出ますが、
そこから e を連打して echo hoge まで辿るのが面倒です。他に何かいい方法ないですか?
今までは history | grep -E "echo.*hoge" みたいにやってましたが、コレジャナイ感が酷くいてw

255
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/23 05:34:01
e 連打というのがよくわからんけど
自分はパターンマッチが使える history-incremental-pattern-search-{backward,forward} を使ってる
コメント1件

256
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/23 13:51:38
>255
すいません、e 連打は Ctrl-r 連打の間違いです

履歴でglob使えるとは知らなんだ
ありがとうございます!

257
名無しさん@お腹いっぱい。[sage]   投稿日:2013/12/23 23:29:00
globあると遡ってパターンマッチしまくるからタイポしたときとか重くなるね
そういう意味でもHISTSIZEはでかすぎないほうがいいかも
履歴を古いやつから自動的に分けたりアーカイブしたりする機能がzshにあればいいけど
そんくらい自分で適当に作れってか

258
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/04 21:20:50
zsh-5.0.2 から zsh-5.0.4 に上げたら
appendhistory で $HISTFILE に elapsed times が残るようになってるじゃないか。
よかよか。追加タイミング変わったんだね。実行完了時に。
コメント1件

259
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/10 01:15:22
Releases 5.0.3 and 5.0.4 were replaced with 5.0.5 because they contained serious bugs.

ファッ!?
コメント1件

260
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/10 02:31:05
=(command)で生成される一時ファイルに拡張子って指定できないもんですかね?

261
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/10 23:29:25
それは俺も考えたことがある。無理じゃないすかね。少なくともそれ用の機能はないと思う。

>259
serious bugs って何だろうね。
コメント1件

262
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 02:38:29
あんま盲目的に新バージョンを入れないほうがいいんかな
正規表現処理にバグがあってファイル消えたとかなったら死ぬわw

263
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 03:57:35
>261
rvmのバグ報告でなんかregexp周りが死ぬってのを見た気がする。
コメント1件

264
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 15:15:38
4.3.10でこういうバグがあったよ
しかもDebianの前のバージョンのzshがこれだったという…
http://www.zsh.org/mla/workers/2010/threads.html#00781

265
名無しさん@お腹いっぱい。[]   投稿日:2014/01/11 18:48:30
Debianのstableは、バージョン番号据置きでパッチのバックポートするから要確認。
コメント1件

266
名無しさん@お腹いっぱい。[]   投稿日:2014/01/11 20:08:23
標準エラー出力に色をつけたいのですがどうしたらよいですか?

267
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 20:13:28
標準エラー出力に色を付けてるプログラマーorシス管見つけたら
社史編纂室に異動させるわ

268
社史編纂室に異動がブーム[sage]   投稿日:2014/01/11 20:52:53
シェルスクリプト総合 その22

115+2 :名無しさん@お腹いっぱい。 [↓] :2014/01/11(土) 19:21:56.73
read に -N オプション付けてるプログラマーorシス管見つけたら
社史編纂室に異動させるわ

269
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 23:44:02
僕はcygwinでzshを使ってるだけで、unixなんて見た事も使った事も無いんで
このスレでは大人しくしています

270
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/11 23:57:49
じゃあ黙ってろよ

271
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/12 09:51:59
社史編纂室に異動させられて暇なんだろ

272
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/14 01:05:32
>265
Debianよく知らんのだけど、それでstable名乗るのってOKなん?
コメント2件

273
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/14 04:14:06
>272
バージョンあげてあらたなバグを導入することを防ぎつつ
バグフィクスのみをとりこんでいくんだからstableなんじゃないの
コメント1件

274
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/14 10:00:57
>272
ダメなの?

275
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/14 20:49:51
>263
5.0.5でも補完の時にregexpでエラー吐いちゃうんだけど@とあるBSD

276
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/14 20:58:48
>273,274
ごめん、ダメじゃないです・・・勘違いした
むしろバグフィックスやってくれないと困るわな

277
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/17 21:28:10
こんな機能あったら便利なのになぁ、って話はメーリングリストに投げたら
意外にサクッと実装してくれたりすんのかな?経験ある人います?
コメント1件

278
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/19 01:13:19
zshの起動が異常におそいがこりゃなんだ
コメント2件

279
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/19 15:51:33
>278
特に感じないけど。どの辺で遅い?

>277
Release Notesにあった5.0.5の新機能で FORCE_FLOAT って超便利なオプションがあるけど
これメーリスに投げてから1日足らずでレス来てるのな。
サクッとできることはサクッとやってくれそう。

http://www.zsh.org/mla/users/2013/msg00145.html
コメント1件

280
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/21 02:46:54
FORCE_FLOAT付けたら./configure --<タブ>が変なエラーになる・・・何なのこれ

$ ./configure --
(eval):local:1: not valid in this context: _a_1.1
_describe:102: not an identifier: _a_1.1

281
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/23 02:21:05
>278
俺は個人的にzshrcがもっさりしてるので遅い。
一回ふきとばしてみたら?
コメント1件

282
名無しさん@お腹いっぱい。[]   投稿日:2014/01/23 02:23:30
>279
>281
.zcompdumpを作るのに異常に時間がかかってる
コメント1件

283
名無しさん@お腹いっぱい。[]   投稿日:2014/01/23 02:25:45
autoload -Uz compinit
compinit -u
をコメントアウトするとすぐ起動する.
ホームディレクトリをNFSにしてるからかなぁ?

284
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/25 23:51:28
>282
http://my.opera.com/ymirlin/blog/2011/02/01/nfs-home-zsh

mkdir /tmp/hoge
chmod 700 /tmp/hoge
ln -s /tmp/hoge/.zcompdump $HOME
autoload -Uz compinit
compinit -u

というのはどうだろう
コメント1件

285
名無しさん@お腹いっぱい。[]   投稿日:2014/01/26 14:23:47
sshからログインと同時に指定したシェルスクリプトを実行したいんだが
% ssh user@example "export INC='~/setup.zsh';zsh"
接続先の~/.zshrcには$INCが定義されてるならsource $INCするように書いてる

もっとシンプルに
% ssh user@example "~/setup.zsh"
setup.zsh実行後にzshを終了せず対話型になるみたいなことって出来ませんかね?
コメント1件

286
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/26 14:57:40
>285
setup.zshの最後にexec zshして、
ssh -t user@example setup.zshしたら?
コメント1件

287
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/26 15:00:01
>286
まあssh -tしわすれたときのために
[[ -t 0 ]] && exec zsh かな?

288
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/26 16:39:40
素早い返信ありがとうございます
exec zshだとsetup.zshで定義されるシェル変数や関数などが維持できないようです。。。

.zshrcに依存することにはなるが、.zshrcから適当なフラグを立てたうえでsource $INCすることでできました

% ssh user@example 'cat setup.zsh .zshrc'
#setup.zsh
if [ -z $FLAG ] ;then
export INC=setup.zsh
exec zsh
else
(省略)
fi

#.zshrc
if [ -n $INC ];then
export FLAG=true
source $INC
fi
% ssh -t user@example setup.zsh
コメント1件

289
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/27 11:13:04
>288
ああ、シェル変数やらはそうだろうね。
だったらexpect使ったら?
#!/usr/bin/expect
spawn "zsh"
expect "%"{ send "source hoge.zsh\n" }
interact

でやりたいことはできそうだけど
コメント1件

290
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/27 19:46:41
>289
おおおこれは便利だ
こっちでやってみます

291
名無しさん@お腹いっぱい。[]   投稿日:2014/01/31 18:40:31
>284
ありがとうございます!
やってみたら,なぜかマシンによってセキュリティチェックがあるのとないのがありますね.
コメント1件

292
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/31 20:53:22
>291
もしかしたら/tmpが0777のマシンと1777のマシンじゃないか?

293
名無しさん@お腹いっぱい。[sage]   投稿日:2014/01/31 21:57:09
なんとなく言ってみるけどselinuxが悪さしてることってない?

294
名無しさん@お腹いっぱい。[]   投稿日:2014/02/01 00:36:14
両方ともmacですわ

295
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/01 19:20:21
そういやmacはデフォルトのログインシェルがzshなんだっけ

296
名無しさん@お腹いっぱい。[]   投稿日:2014/02/02 01:13:04
10.2 まで tcsh
10.3 からいまのところ bash
zsh は5.0.2が入ってるけど、デフォルトログインシェルにはなってない。

297
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/02 18:31:21
あ、そうなんだスマソ
デフォルトでインストールされてるってだけか

298
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/10 23:45:43
なんかCentOS4.5のzsh-4.2.0が.zshenvを読んでないっぽいんだけどなんで?

まあ管理権限ないから$HOMEにzsh-5.0.5入れたけど……

299
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/11 07:19:07
てか4.5とか古いなw
そっちに原因があったりして

300
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/11 10:56:49
CentOSの問題をここで聞かれてもな。

301
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 00:50:45
研究室の鯖なかなか更新してくれないんだよね。
CentOS固有の問題なのかな?

302
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 01:08:42
うん。

303
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 01:19:27
そっか。

304
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 04:23:39
zsh-4.2.0なんて何年前だろ
とりあえず新しいのを自分でビルドしてユーザ領域に置いてみたら?

305
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 12:07:28
もう入れたってさ。

306
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/12 22:01:25
あー書いてたかスマン

ってか話題ないな・・・

307
名無しさん@お腹いっぱい。[sage]   投稿日:2014/02/15 11:39:19
話題か。

>258 の件で $HISTFILE に elapsed times が残るようになったのはいいんだけど、
実行中に別 zsh 起こしてその履歴使ったり history -D したりできなくなってしまった。(当然)
とりあえず放置してるけど。
これでもいいような、そうでもないような。

share_history は前のまま実行前に追加するみたい。(elapsed times が残らない。)
てか share_history って imported lines と local lines 分けてるんだね。
昔は違った気がするけど。
あと import タイミングが行編集終了時。最初、終了前に履歴辿って効いてないのかと思った。

308
名無しさん@お腹いっぱい。[age]   投稿日:2014/03/02 22:23:24
zargs -r -- $HOME/.zshfunc/*(N:t) -- autoload
で.zshfunc以下に定義してある関数を全部読みこもうとしたんだけど、
関数内でこいつを呼びだすと動かなくて
ttyで呼びだすと動いてるっぽい。なんでだろう?
コメント1件

309
名無しさん@お腹いっぱい。[]   投稿日:2014/03/06 06:57:36
CENTOS6.3でzshを立ち上げると、/bin/lsコマンドが
/bin/ls: fork failed: リソースが一時的に利用できません
といって動いてくれません。bashだと大丈夫。他のコマンドだと大丈夫。zshとlsでなんかもんだいあるんでしょうか?
コメント1件

310
名無しさん@お腹いっぱい。[]   投稿日:2014/03/06 08:21:18
>309の件、自己解決しました。
.zshrcの中に変なaliasを定義していたのが原因でした。

311
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/08 02:50:06
>308 それ tty でも動いてないんじゃない? あと zargs の意味ない気がするけど、-r のために使っているとか?
コメント1件

312
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/08 03:00:16
>311
そうそれ。

313
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/08 03:05:49
あれ、確かにttyでも動いてないっすね。なんで以前は動いたと思ったんだろう。

314
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/08 18:19:46
zargs が subshell内で eval してるっぽいから意味ないんだと思う。
-r が目的なら

() { (( $# )) && autoload $@ } $HOME/.zshfunc/*(N:t)

でいいんじゃないか? setopt次第で "$@" かな。
exit 1 だけどエラーメッセージ出ないからいいよね?
コメント1件

315
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/09 11:12:18
>314
ほんとだ、()でかこってあった…

> () { (( $# )) && autoload $@ } $HOME/.zshfunc/*(N:t)

forで逃げてましたが使わせていただきます。ありがとうございます。

316
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/09 22:07:18
無名関数に引数を渡せるようになっていたとは知らんかった

317
名無しさん@お腹いっぱい。[]   投稿日:2014/03/22 19:18:47
プロンプトに$LINENOを表示させてみようと思ったら上手く行かなかった、環境変数って読めない感じ?
コメント2件

318
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 19:28:17
うまくいかないのがよくわからないけど普通に1とか2が出力されたよ
どっかの設定がおかしいんじゃね

319
名無しさん@お腹いっぱい。[]   投稿日:2014/03/22 19:51:45
>317
${LINENO} じゃ?
コメント2件

320
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 20:41:45
>319 は $LINENO と ${LINENO} が違うものだと思ってるのかよw

321
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 20:47:29
>317はそうと知らずに$LINENOの後に続けてコロンとモディファイアになる文字を書いちゃったのかもね
そういう場合は>319がいうように${LINENO}にすれば回避できる

322
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 20:54:22
${LINENO} とか中途半端な書き方せずに "$LINENO" と書くのがお勧め。

323
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 20:56:22
いや、

PS1=$LINENO とかやっても $LINENO の値が動的に変わるわけじゃないって話だろw

324
391[]   投稿日:2014/03/22 21:03:44
ごめん。一般の変数の展開と勘違いした。
マニュアル読むと LINENO はスクリプトの中で使うだけみたいだな。

プロンプトの行番号の概念がはっきりしないんだけど、これはイメージどおり?

PS1="%h $"

%h, %!, ! だと履歴の番号になるみたい。
コメント1件

325
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/22 21:29:22
>324
まあプロンプトにLINENOがあっても?だけど普通にログインシェルでも立ち上げてからの行数でるよ

326
名無しさん@お腹いっぱい。[sage]   投稿日:2014/03/29 14:28:58
cd -[TAB] で表示されるディレクトリスタックをいじることってできますか?
m〜n番目のエントリを削除、とかがしたいです
dirsコマンドにはそれらしい方法はなさそうでした

327
名無しさん@お腹いっぱい。[]   投稿日:2014/04/02 01:47:32
現在の設定のままroot権限持つことって可能ですか?
$ZDOTDIRを〜〜、ではなく現在のシェルで設定した変数を保持したままで、ということです。
sudoすれば良いだろ、というのはなしでお願いします

328
名無しさん@お腹いっぱい。[]   投稿日:2014/04/02 02:29:34
su -m は?

329
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/06 19:36:26
いつの間にかipの補完ができなくなった
ssh hoge@XXXのXXXが数字だと補完してくれない
みんなできてる?
コメント2件

330
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/07 23:00:57
IP補完なんてできるのか
て、試したらできなかったわ

331
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/07 23:46:43
>329
できてるで
% ssh foo@10.5.5.<tab>
10.5.5.1 10.5.5.2 10.5.5.3 10.5.5.4

% zsh --version
zsh 5.0.5 (x86_64-apple-darwin13.0.0)

_ssh は zsh 付属のやつっぽい

332
名無しさん@お腹いっぱい。[]   投稿日:2014/04/07 23:46:48
/etc/hosts に書いてあってもだめ?

333
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/08 01:23:23
>329
_ssh ちょっと読んでみたけど
ip アドレスは、.ssh/config に書いてあるやつしか補完されないっぽいな…

334
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/08 17:27:02
function print_known_hosts (){
test -f /etc/hosts && sed -e 's/#.*//' /etc/hosts
test -f $HOME/.ssh/known_hosts && tr ',' ' ' <$HOME/.ssh/known_hosts | cut -d ' ' -f1 | sed -e '/^|1|/d;s/^\[\(.*\)\]:[0-9][0-9]*$/\1/'
test -f ~/.host.completion && cat ~/.host.completion
}
_cache_hosts=($(print_known_hosts | tr '[:blank:]' "\n" | sort -u))

ってやって.ssh/known_hostsに書いてあるやつは補完できるようにしてるわ

335
名無しさん@お腹いっぱい。[sage]   投稿日:2014/04/08 17:27:43
あ、上記はもちろん.ssh/known_hostsがハッシュされてると動きませんあしからず

336
名無しさん@お腹いっぱい。[sage]   投稿日:2014/05/24 18:36:48
alias -g G='| grep'
alias -g H='| head'
alias -g T='| tail'
などのグローバルエイリアスをしてる人多いと思いますが、
特定のコマンドの後ろに付ける場合は無視するようにはできませんか?
コメント1件

337
名無しさん@お腹いっぱい。[sage]   投稿日:2014/06/27 11:50:13
普段lsに--group-directories-firstオプションをつけてるんですが
zshのglobをこれと同じソート順にしたいです
どうすればいいですかね

338
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/02 02:55:08
PROMPTの%(?,,)の構文の挙動がおかしくないですか?
試しに下記のようなコマンドを入力すると逆の結果を返しており、psvar[2]を見て判断しているように思えます。
precmd(){}
psvar=( '0' '1' )
PROMPT='%? %1(?,success,error) %# '
sh -c 'exit 1'
:

これはバグでしょうか。それとも僕が何か勘違いしているのでしょうか
zsh 5.0.5 (x86_64-unknown-linux-gnu)

339
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/03 12:05:59
>337
使ってる人いるんですか,global alias

alias 設定した文字(列)を引数に書いた瞬間に死亡する,
という挙動のリスクが大きくて,
たいしたことない利便性ではリスクに見合わない印象

340
337[sage]   投稿日:2014/07/03 21:58:27
クッソ便利で使うのが当たり前だと思ってたけど自分だけかな?
確かに気をつかないといけないけどさ・・・
まぁだから>336を書いたわけですが

341
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/03 22:54:56
たった6文字ぐらい手で打てよ
お前今にとんでもないトラブル起きるぞ

342
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/04 06:34:45
アンタ死ぬわよ

343
名無しさん@お腹いっぱい。[]   投稿日:2014/07/06 15:43:10
% LD_LIBRARY_PATH=
だとファイルリストが補完できるかと思うんですが、同じことを
% env LD_LIBRARY_PATH=
でもできるようにするにはどんな設定すればいいですかね?

tab以外のキーに _complete_files をバインドして補完しても
complete-files: no matches found: LD_LIBRARY_PATH=*
とかなってしまいます。。。

344
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/09 07:30:40
編集子について質問させてください

fullpathをチルダ付きpathに変換したいのですがうまくいきません
$ echo '/Users/xxx/doc/aaa.txt' | read fn; echo ${fn:s/$HOME/~/}

ご教示お願い致しますm(_ _)m
コメント1件

345
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/10 06:37:32
>344
すんません。自己解決しました

${fn/$HOME/'~'}

でした。

346
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/13 18:41:43
補完絡みで質問です。
パッケージインストール直後や、~/bin等にスクリプト入れた直後だと補完に候補が出てこない(source .zshrcすればok)。
bashだと、直ぐ補完に反映されてるので何かオプションがありそうですが教え下さい。
コメント1件

347
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/13 18:47:27

348
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/13 21:09:31
>347
オプションでは無いんですかね。
都度打つのが面倒なんで、、、
皆あまり気にならない?

aliasにするか、cd辺りでrehashを自動化ってことなのかな。

349
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/13 23:00:30
空エンターでrehashするようにしてる

350
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/14 01:04:35
そんなコマンドあったのか、今までexec zshして丸ごと入れ替えてた

351
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/14 03:56:04
補完に反映なら
zstyle ':completion:*' rehash 1

zstyle ':completion:*:commands' rehash 1
に絞ってもいいかもしれんが
コメント1件

352
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/14 19:36:07
>351
完璧っす、有難い。

353
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/14 21:56:39
なんでそんなにしょっちゅうrehashが必要なんだろ。

354
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/18 18:37:43
gitで管理してるディレクトリの時だけ、
プロンプトにmasterとかサブブランチの情報が欲しい

ググった奴コピペしたのは管理してないところでmasterになってて邪魔だった

355
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/19 01:11:13
もうちょっとググれ

356
名無しさん@お腹いっぱい。[sage]   投稿日:2014/07/29 03:21:40
管理外でmasterって出るってgitの出力使ってないじゃん
どこから出力得てるんだ

357
名無しさん@お腹いっぱい。[sage]   投稿日:2014/08/01 17:29:13
a=(1 2); b=(3 4 5); foo $a $b
みたいな感じで foo にリストを引数として渡す場合には foo はどう書けば良かろうか?
あ、a や b の要素数は可変で。
a と b を繋げたリストでよければ foo の中で c=($*) すればいいっぽいけど、別々に欲しい。
あれ local c=($*) したらエラーになるのはなんでだ?
コメント2件

358
名無しさん@お腹いっぱい。[sage]   投稿日:2014/08/01 22:13:56
変数名を渡して関数の中でevalする

359
名無しさん@お腹いっぱい。[sage]   投稿日:2014/08/02 05:21:24
>357
自分も昔ハマったことがあるが、local では配列の宣言と同時には代入ができないみたい

359 が言うように変数名を渡す方法が最初に思い付くけどもっと良い方法があるのかな?

% a=(1 2); b=(3 4 5)
% foo() {local A B; A=(${(P)1}); B=(${(P)2}); echo "$1[2] -> $A[2], $2[2] -> $B[2]"}
% foo a b
a[2] -> 2, b[2] -> 4

360
名無しさん@お腹いっぱい。[sage]   投稿日:2014/08/08 16:09:44
なるほど、名前自体を見て処理すれば良いのか、勉強になりました。
ちなみに bash だと local で宣言と同時に代入ができるみたい。なぜだ。

361
名無しさん@お腹いっぱい。[sage]   投稿日:2014/09/18 03:16:09
{
for i in {1..10..2}
で1,3,5,・・・,9と { } 増分

362
名無しさん@お腹いっぱい。[sage]   投稿日:2014/09/18 06:00:27
あれ、途中で変なふうに書き込んでしまいました。すいません

{1..9..2}で、1,3,5,・・というふうに増分2で展開されますが、1,2,4,8,・・・というふうに
累乗的に増えていくようなものを表す方法ってありますか?
{1..9**2}みたいな感じで書けたら便利なんですが・・・さすがに無理ですか?
コメント1件

363
名無しさん@お腹いっぱい。[sage]   投稿日:2014/09/18 14:14:34
ない。forで使うならiを指数としてループの中で計算すればいいじゃん。


364
363[sage]   投稿日:2014/09/18 21:33:59
やはりさすがにないですか。ありがとです

いずれはインクリメントを自由に設定できるようになることを期待
zshなら・・・zshならきっと

365
名無しさん@お腹いっぱい。[sage]   投稿日:2014/09/18 23:09:51
普通のプログラミング言語でもできなくね?と思ったが
リスト内包表記があるのならできるか・・・

366
名無しさん@お腹いっぱい。[sage]   投稿日:2014/09/29 00:55:12
Bashで使えてたcocot がzshにした途端使えなくなった。なぜ?

367
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/02 01:20:45
bashが脆弱性で大変なことになってるけどzshは大丈夫だよね?

368
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/02 04:50:39
zshは↓で固まるけど、これで攻撃できる?

echo hoge >file1 >file2 >/dev/stdout

369
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/02 07:26:53
固めてどうするの?
そもそも、任意のコードが実行できるなら攻撃も糞もやりたい放題じゃん

370
名無しさん@お腹いっぱい。[]   投稿日:2014/10/06 17:36:13
zshを使ってきた君たちへ

君たちが悪いわけじゃないんだよ
君たちが覚えたzshの将来が無かっただけ
当時の社会が悪かっただけ
君たち一人ひとりが悪いわけじゃないんだよ

だから自分を責めないで
社会と向き合ってください
そうすればきっと気が付くはず
君たちのzshの知識が無用なのだということに
君たちの存在自体が社会の足枷だということに

371
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/06 18:18:19
元ネタは冷凍ワッフルかw

372
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/11 06:37:55
数値演算用の関数として

function calc()
{
echo $(( $* ))
}

というのを作って使ってるんですが、 ( ) が入れ込んでたりすると zsh: bad pattern: と出てしまいます
引数全体を""で括ればいい話なんですが、そういうことやらずに引数の文字列をそのまま関数に渡すことってできないでしょうか?
コメント1件

373
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/11 13:02:05
>372
""で括らずに引数の文字列をそのまま渡すのは無理
*や()のエスケープするか、素直に$(( ))を使ったら?

374
名無しさん@お腹いっぱい。[sage]   投稿日:2014/10/24 20:16:01
https://github.com/Aso23/zsh_virsh_autocompletion/blob/master/_v...
をfpathに配置して
autoload -U compinit
compinit
ってやるとvirshコマンドで補完が効くんですが
compinitをcompinit -Cにすると補完が効かなくなってしまいます

どうも上記のスクリプトの記述が悪いっぽいのですが
どこを直したらいいか分かる方いませんか?

375
名無しさん@お腹いっぱい。[sage]   投稿日:2014/12/05 15:11:56
http://wiki.fdiary.net/zsh/?FAQ%40zsh%A5%B9%A5%EC
にbindkey表記が載っていますが、Ctrl+Shift+xやAlt+Ctrl+Shift+xに割り当てたいときはどう表記すればいいのでしょうか?
コメント2件

376
名無しさん@お腹いっぱい。[sage]   投稿日:2014/12/07 22:20:47
asciiコード表を眺めて、文字コードとして存在するのかから考えよう

377
名無しさん@お腹いっぱい。[sage]   投稿日:2015/01/28 03:43:40
>375
遅レス&横レスですけど、できました?
shift って bindkey では設定できないと思ってたけど

キーバインドってなかなか自由自在にできなくてもどかしいですよね
個人的には ctrl-j と enter が区別できなくて等価に LF として扱われるのが辛い

378
378[sage]   投稿日:2015/01/28 03:47:05
あ、ctrl-j と enter の件は端末側の話ですかね、すみません

ググると、端末の入力モードをrawにすればキーコードが勝手に解釈されたりせずに
ダイレクトに届くっていうけど、rawなんて使ったことないけどまともに使えるのかな・・・

379
名無しさん@お腹いっぱい。[sage]   投稿日:2015/02/04 23:38:43
>375
Ctrl+Altって^[[ではなく^[^じゃなかった?
途中で変わったのかな

380
名無しさん@お腹いっぱい。[sage]   投稿日:2015/02/06 13:05:15
書き間違いだろう

381
名無しさん@お腹いっぱい。[sage]   投稿日:2015/02/15 00:11:46
じゃあ xterm -xrm '*modifyOtherKeys:2' にしようか

382
名無しさん@お腹いっぱい。[]   投稿日:2015/03/28 08:29:49
hosh

383
名無しさん@お腹いっぱい。[sage]   投稿日:2015/04/26 18:25:52
echo $(A="A" && echo $A)みたいな代入文のシンタックスシュガーって存在する?
コメント1件

384
名無しさん@お腹いっぱい。[sage]   投稿日:2015/04/26 22:46:25
代入文じゃねえ代入式

385
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/09 18:34:14
意図がわからないけど、こういう話ではなくて?
構文糖ではないけど。

echo ${:-A}

386
名無しさん@お腹いっぱい。[]   投稿日:2015/05/14 20:27:12
Cのカンマ演算子みたいな感じかね。
できるかどうかは知らないけれど。
後上記の人の説明の補足をするならば、
例えば以下のようにした場合、変数Bに中身が設定されていなければ中身をA
echo ${B:-A}
として扱うという事であって実際に変数Bが作られるわけでは無いので注意。
数字でよければ echo $((++A))
値1を持つ変数Aが作られる。だから>362とかは以下のようにもできる。
repeat 10 echo $(( 1 << ++A ))

と、書き終わった後に試してみたら
カンマ演算子が数値なら使えるみたいなのでこんな風にも書けた。
LANG=POSIX echo -e "\0$(( A=141, $A ))"

387
名無しさん@お腹いっぱい。[]   投稿日:2015/05/14 21:20:45
わるいわるい上記を試したら全然出来なかった。
何度かやってたら偶然できてただけだった。
LANGの設定も意味ないし。

388
名無しさん@お腹いっぱい。[]   投稿日:2015/05/14 21:24:38
そっかそっか以下て出来た。
echo -e "\0$(( A=101, A ))"

389
名無しさん@お腹いっぱい。[]   投稿日:2015/05/14 21:41:00
>357
力技ではこんなのがある。
a=(a b c)
b=$(printf "%c\0" $a |sed 's#\o0$##') # なんか変数に一度いれないと無理だね。
c ()
{
echo $1
echo $1 |tr '\0' ' '
}
c $b
コメント1件

390
名無しさん@お腹いっぱい。[]   投稿日:2015/05/14 22:08:07
hashでもいける。

typeset -A a
a=(A a B b C c)
printf "%s\n" ${(k)a}| while read
do
printf "$REPLY\0%s\0" $a[$REPLY]
done |sed 's#\o0$##' |read b
コメント1件

391
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/15 21:04:50
>383
;でいいじゃんと言ってみる。

392
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/15 21:38:41
echo ${A::="A"}

393
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/15 22:00:08
>389
>390
b は c "$( ... )" で消せるんじゃない?
あと、↓ でもいいような。
c ${(pj:\0:)a}
c ${(kvpj:\0:)a}

394
名無しさん@お腹いっぱい。[]   投稿日:2015/05/15 23:33:19
書いてみるものだね。プロ達が見たこと無い技を教えてくれた。
そんな簡単にできるんだ。あってると思います。
偉い人はいいよな、こっちなんて直すの面倒からまだそのまま使ってるけれど、
こういうのを実現するのに中間file使って、m4使ってやってたよ。
私の.zshenvは糞コードで埋め尽くされてるな。
まあ糞コードは好きだけどね。それshellで書けますけど的なね。
教えてくれてありがとう。

395
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 07:35:45
なるほどなるほど、psとpjがsplitとjoinのようだ。
typeset -A a
a=( A a B b C 'c c' )

echo ${(k)a} # keyを出力する。
echo ${(kv)a} # keyも値も出力する。

b=${(pj:\0:)a} # 空白を区切りに\0で結合する。
echo $b
echo ${(ps:\0:)b} # \0を区切りに分ける。

b=${(kvpj:\0:)a}
typeset -A c
c=( ${(ps:\0:)b} ) # 値に空白が含まれていても、マクロ的に処理されるわけでなく
# 一つの値として処理される。こういう所が他のshellと違うよね。

396
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 07:41:10
あーごめんごめんjoinの説明がおかしいね。空白を区切りにしてるわけではなく
他と一緒で値を区切りにしてくれてると思う。

397
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 08:17:20
# 変数が空、または値がなければ、1として置き換える。
echo ${a:-1}
echo $a
a=2
echo ${a:-1}
echo $a; unset a
# 上記の判定で、変数宣言がされている場合は置き換えないのが以下。:が無いだけ。
typeset a
echo ${a-1}
a=2
echo ${a:-1}
echo $a; unset a


# 変数が空、または値がなければ、指定された変数aに1を代入する。 *1
echo ${a:=1}
echo $a
echo ${a:=2} # *2
echo $a
# 上記に加え、脚注*2 変数aに値が入っていても、値を上書きして定義するのが以下。
echo ${a::=2}
echo $a; unset a
# 脚注*1 の判定で、変数宣言がされている場合は代入しないのが以下。:が無いだけ。
typeset a
echo ${a=1}
a=2
echo ${a=1}
echo $a; unset a

# 他にもあるけれど勉強はここまでにする。

398
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 08:24:55
--- 2ch.orig 2015-05-16 08:09:21.000000000 +0900
+++ 2ch.diff 2015-05-16 08:11:22.000000000 +0900
@@ -8,7 +8,7 @@
typeset a
echo ${a-1}
a=2
- echo ${a:-1}
+ echo ${a-1}
echo $a; unset a

399
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 08:25:56
時間のズレは仕様です。

400
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 09:16:31
あとそっか
> b は c "$( ... )" で消せるんじゃない?
確かにその通りでした。

後言葉が変でまだ知らない人達に、混乱を招いてしまうかも。
変数が空 false
変数が無い true

変数宣言 false
変数定義 true

401
名無しさん@お腹いっぱい。[]   投稿日:2015/05/16 09:22:11
しかし"$()"の動作が思ってるより不思議だ。いつか勉強しとこう。

402
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/16 16:35:35
ps:\0: は 0 でいいけど、逆(pj:\0:)がないんだよね。f F と違って。
うーん、この非対称性。

403
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/19 20:23:42
setopt hist_ignore_space
alias fg=' fg'
しててもCtrl-pを押したときはfgが出てきてしまうのですが、
出てこないようにするにはどうすればいいでしょうか?

404
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/21 19:51:22
直後も出ないようにってこと?

405
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/23 22:06:31
直後も出ないのが希望です

406
名無しさん@お腹いっぱい。[]   投稿日:2015/05/24 17:35:41
根本的な解決ではないが、新しい機能をkeyへ割り当てる事で要求はこなせる。
ここではalternateとp keyの組み合わせに、新しい機能を割り当てようと思う。
これは設定によってpの先頭に^[をつけるとかは変わる部分だが、
大体その設定になっているだろうと思う。
履歴をさかのぼるのが^Pだとしたら、
bindkey -s '^[p' '^P^P'
見ての通り二回分履歴をさかのぼっているだけになる。

ちなみに^P^Pの後に\rを書けば即座に実行する事となる。
当然これは危険である。
cd hoge
rm *
cd
ここで実行しまうと再帰的にショックを受ける事になる。
試したいのであれば、
bindkey -s '^[p' 'pwd\r'
などとすると良いでしょう。

407
名無しさん@お腹いっぱい。[]   投稿日:2015/05/24 22:40:53
ん、以下をfileに書いて実行すると動くのは理解できるのだけれど、
一番最後の行の\を一つ無くして「eval echo \$$a[B][2]」とすると
fileに書いて実行した時は動かないけれど、promptから打っていった場合動いてしまう。
typeset -A a
a=(B b)
eval $a[B]+=\( c d \)
eval echo \$$a[B]\[2]

408
名無しさん@お腹いっぱい。[]   投稿日:2015/05/25 00:10:55
なるほど、そもそも以下をfileから実行した場合とpromptから
打ち込んだ時の挙動が違ったからか。
a=(abc)
echo a[1][1]

409
名無しさん@お腹いっぱい。[]   投稿日:2015/05/25 00:11:47
$を書くのを忘れてた。

410
名無しさん@お腹いっぱい。[]   投稿日:2015/05/25 05:02:29
scriptからだとこうしないと表示できない。
echo \[1]
echo '[2]'
echo "[3]"
promptからだと大丈夫、さらに1だけ表示が違う。
echo [1]
echo [2]
echo [3]

411
名無しさん@お腹いっぱい。[sage]   投稿日:2015/05/27 23:33:40
setopt noglob とかしてんじゃないの
コメント1件

412
名無しさん@お腹いっぱい。[]   投稿日:2015/05/28 00:04:41
>411
ありがとうございます。noglob設定したら確かに直りました、
確認した所1ってfileが転がってました。

しかしよくすぐ気付くものだと感心しますな、最初の配列はきっと特別なんだろうな、
何かしでかしてんだろうなと覚書してまたわ。

413
名無しさん@お腹いっぱい。[]   投稿日:2015/05/28 00:21:08
そっか、そもそもglobというのが頭の中からすっぽり消えてた。
恥ずかしながら。出直してきます。

414
名無しさん@お腹いっぱい。[sage]   投稿日:2015/06/07 09:29:46
zsh-5.0.8のprintfで-フラッグが効かないんだけど、他にもなる人いる?
こんな感じ。

$ builtin printf '%-20s' 'hoge'
       hoge

$ command printf '%-20' 'hoge'
hoge

415
名無しさん@お腹いっぱい。[sage]   投稿日:2015/06/07 16:44:20
zsh 5.0.7 (amd64-portbld-freebsd8.4) でもおなじ
コメント1件

416
名無しさん@お腹いっぱい。[sage]   投稿日:2015/06/07 17:33:24
>415
あれ、おかしいな?俺は5.0.7まで正常(左詰めされる)だったんだけど…。
ちょっとrevertしてみるわ。


417
名無しさん@お腹いっぱい。[sage]   投稿日:2015/06/07 17:45:27
やっぱり5.0.7だと大丈夫っぽい。
パッケージ作成時の設定も変わってないみたいなのになんでだろう。

$ zsh --version
zsh 5.0.7 (x86_64-unknown-linux-gnu)

$ zsh -c 'builtin printf "%-20s" "hoge"'
hoge

$ zsh -c 'command printf "%-20s" "hoge"'
hoge

とりあえずは5.0.7で様子見することにします。

418
416[sage]   投稿日:2015/06/07 19:53:10
ごめん、ちゃんと読んでなかった。うちでも、5.0.7だと正常(左詰めされる)でした。
zsh 5.0.8 (amd64-portbld-freebsd8.4) だと右詰になります。
コメント1件

419
名無しさん@お腹いっぱい。[sage]   投稿日:2015/06/07 20:46:57
>418
どうもです。となるとzshのバグですかね。
どなたかzsh-usersに報告されてました。

http://www.zsh.org/mla/users/2015/msg00609.html

というわけで、修正が来るまで?待つことにします。
お騒がせしました。

420
名無しさん@お腹いっぱい。[sage]   投稿日:2015/07/11 02:35:34
select ループで選択候補にナンバリングされるけれども、この表示方法は変えられないのかな
桁の変わり目に表示がずれるのがどうしても気になる
ファイル選択に select を使うのもあまり便利とは言えないけど…
こういうときは皆どうしてるのかな

421
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/06 12:04:34
teeみたいなことをやるリダイレクトで
ls > /tmp/ls.txt > /dev/sdtin
ってできるけど、なぜ stdout じゃなくて stdin に流すのでしょうか?
なんとなく stdout に流したくなるのですが
コメント2件

422
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/06 18:57:00
/dev/stdoutに すると端末に表示されずに、/tmp/ls.txt にもう一度書きこまれるのでは?
端末に結びつけられていれば /dev/stdin でも /dev/stderr でもいいが
どうせスペシャルデバイスを使うのなら /dev/tty の方がわかりやすいかもね

423
名無しさん@お腹いっぱい。[]   投稿日:2015/08/08 09:23:44
zsh使うくらいなら最初からbashだけ使ってた方がいい。
将来、なんかの拍子にbashの仕事が入ってくるかもしれない。
その時にbash使ってましたアピールは大きい。
zsh使ってましたとか何のアピールにもならない。
もう一度言う、たとえ趣味でもbashを使え。
コメント1件

424
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/09 12:30:00
>421
うちのzsh 5.0.8ではls.txtは作られても画面には何も表示されなかったんだが、オプションか何か?
コメント1件

425
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/09 13:48:35
>423
マゾなの?

426
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/09 21:29:45
いえコピペです

427
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/09 23:01:50

428
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/10 20:02:26
>427 thx

429
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/28 01:03:10
firewalldの補完ファイルどっかに落ちてない?

430
名無しさん@お腹いっぱい。[sage]   投稿日:2015/08/28 19:37:38
>421
ls > /dev/stdout > /tmp/ls.txt
とか
ls >&1 > /tmp/ls.txt
でいいんじゃないかな

431
名無しさん@お腹いっぱい。[sage]   投稿日:2015/09/01 23:45:26

432
名無しさん@お腹いっぱい。[]   投稿日:2015/11/10 14:23:27
hosh

433
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/28 12:34:47
hash

434
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/29 23:12:37
初心者で申し訳ないが#や$から左のホスト名とかユーザー名、ディレクトリはどこらへんいじれば変えられる?
コメント1件

435
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/30 00:44:08
>434
zsh プロンプト でググればやりかたが見つかる。
.zshrc に書くらしい。

436
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/30 01:05:55
vim .zshrcすると
operation not permittedって出ます

437
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/30 12:31:44
.の後にスペースを入れちゃ駄目だよ

438
名無しさん@お腹いっぱい。[sage]   投稿日:2015/11/30 20:22:32
.の後にスペースを入れたように見えるけど実際には.を使ってたりする

439
名無しさん@お腹いっぱい。[]   投稿日:2015/11/30 22:23:23  ID:XQUEOjyyx
簡単なアンケートとイメージに答えるだけで自分のスタンプが作れる!
詳細はこちらから→http://goo.gl/K1Cxyc

440
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/01 10:07:16
ホントだw 気付かんかった

441
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/01 14:39:08
ネタだろ

442
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/01 19:18:38
じゃあ俺、mkdir .zshrc して帰るから(鬼畜)

443
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/02 01:15:42
じゃ俺はそれをrm -rf . zshrcで消しとくね
コメント1件

444
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/02 01:50:09
>443
怖いことするな
ls .

445
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/02 09:45:55
知ってて言ってんでしょ

446
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/02 13:46:26
知ってて知らん言うのは犯罪やぞ

447
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/06 19:33:09
zsh 5.2

448
名無しさん@お腹いっぱい。[sage]   投稿日:2015/12/18 20:00:31
(( )) 内の浮動小数変数のデフォルト型をdoubleにする設定ってないですか?
コメント1件

449
名無しさん@お腹いっぱい。[sage]   投稿日:2016/01/08 07:16:05
zsh-5.0.8 → zsh-5.1.1(zsh-5.2 も同様) と上げたら、
menu-complete → reverse-menu-complete で
reverse-menu-complete が確定→補完開始するようになった。(バグ?)
zsh-5.0.8 は確定せずに候補選択の逆順移動をする。

zsh-5.0.8 と同じ動きにする方法ってある?

>448
setopt FORCE_FLOAT
でどうでしょう。

と思ったら浮動小数変数のデフォルト型ですか。
何もしなくても double では?
表示の有効桁数のことですか?

450
449[sage]   投稿日:2016/01/11 16:38:07
compinit するとなるようですね。もっというと
zle -C reverse-menu-complete .reverse-menu-complete _main_complete
でなる。(_main_complete でなくても。)

zsh-5.0.8 でも compinit すると complete-word, menu-complete とかで
新しい補完を開始してしまう。
ので、reverse-menu-complete 以外は前から問題があったのかな?

zle -C 前の reverse-menu-complete や .reverse-menu-complete なら
新しい補完を開始することはない。
が、menu completion 中以外について、
当然 _main_complete は呼ばれないし、なぜか compinit なしの補完もしない。

menu completion 中しか reverse-menu-complete を使ってないので
姑息ながら、とりあえず .reverse-menu-complete で凌ぐ。

451
名無しさん@お腹いっぱい。[sage]   投稿日:2016/01/15 16:56:35
seq 1 10 | echo `grep 5` `grep 3`
bashだと5が表示されるけど、zshだと完全に固まるね(^Cも^Zも受け付けない)

452
名無しさん@お腹いっぱい。[sage]   投稿日:2016/01/15 20:13:15
5.1.1では^Cで止まる。

453
名無しさん@お腹いっぱい。[sage]   投稿日:2016/01/17 23:54:19
5.2 では

% seq 1 10 | echo `grep 5` `grep 3`
grep: (標準入力): 入力/出力エラーです
3<eof> ← 入力
3

となる。けど

% zsh
% seq 1 10 | echo `grep 5` `grep 3`

でなぜか固まるね。
↓ は期待通りかな。

% zsh -c 'seq 1 10 | echo `grep 5` `grep 3`'
5<eof> ← 入力
3<eof> ← 入力
5 3

bash とは多分仕様が違うけど、
bash は POSIX compliant なのかな?
正しく動けば zsh の方が使い易そうだけど。

454
名無しさん@お腹いっぱい。[sage]   投稿日:2016/02/14 06:31:08
hist_find_no_dupsはどういう意味なんでしょうか?
これを設定していても、Ctrl-pを繰り返し押したとき同じコマンドが何回も出てきます。

455
名無しさん@お腹いっぱい。[sage]   投稿日:2016/02/20 07:22:20
Ctrl-rで検索したとき一度出たものと重複するものをスキップしてくれますよ。

456
名無しさん@お腹いっぱい。[sage]   投稿日:2016/02/20 12:37:09
なるほど、ありがとうございます。

457
名無しさん@お腹いっぱい。[]   投稿日:2016/03/12 00:34:52
http://d.hatena.ne.jp/ino46/20110627/1309149506
このzsh限定のselectメニューの文字化けどうすればいいんだろうか?

458
名無しさん@お腹いっぱい。[]   投稿日:2016/03/15 20:48:15
selectの代わりにpercol使うことにした

459
名無しさん@お腹いっぱい。[]   投稿日:2016/03/31 14:16:01
そういえば.zhistoryも日本語が文字化けしてた
history-all等の方で取り出すのは文字化けしないから
困った事にはならなかったが

bash_historyの方は化けないから
文字化けは他でもまた偶然直面しそうだ
直し方両方分からないし
コメント2件

460
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/02 02:15:04
なんかzshがWindowsに対応とかニュースになってるらしいけどマジ?

461
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/02 17:24:11
bashやろ

462
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/02 20:09:45
ありゃ、bashか
でもそれでもすごいことだな

463
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/03 00:01:44
すごいよ。WindowsでUbuntuのバイナリ互換するんだもんな
zshも動くよきっと

464
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/03 00:03:01
今でも動くけどな
Windows7の人はxp-modeで試せばよい

http://unix.oskp.net/sua/windows_zsh.html

465
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/04 03:22:03
>459
~/.zsh_historyのエンコーディングがLatin1っぽい
コメント2件

466
名無しさん@お腹いっぱい。[]   投稿日:2016/04/04 09:10:38
>465
nkf で utf-8 に変更しても駄目だったから
zshから書き出すまでの方見ないと駄目かもしれない
コメント1件

467
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/04 20:50:42

468
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/10 04:03:37
bashのcdでディレクトリだけ補完する、の下記設定は、zshだとどう書けばよいですか?
complete -d cd

下記でできましたが、自分には不要な設定もたくさんついてくるので、cdのディレクトリ補完だけ単独で設定したいです。
autoload -Uz compinit; compinit
コメント1件

469
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/10 13:30:00
>468
compctl -/ cd
コメント1件

470
名無しさん@お腹いっぱい。[sage]   投稿日:2016/04/10 20:47:25
>469

できました!
ありがとうございます。

471
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/11 12:17:56
man cdとするとzshではなくbashのビルトインの方が呼ばれるんですがどうしたらいいですか
man zshbuiltinはちょっとめんどい

472
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/13 00:19:24
run-help を使えるようにしておくとか

473
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/13 19:31:54
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
これで補完のとき大文字小文字を区別しないようにしているのですが、
Macで/us<Tab>とすると/Usersが先に出てきてしまいます。
これを/usrが先に出てくるようにしたいです。つまり
入力した文字列と大文字小文字が一致した候補がある場合はそちらを先にしたいのですが
どうすればいいでしょうか?

474
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/13 22:41:19
アルファベットが若い方が優先されてんでしょ

475
名無しさん@お腹いっぱい。[]   投稿日:2016/05/13 22:43:04
マックをやめればすむ話だな

476
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/14 06:12:53
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}'

これじゃダメなんだね?

477
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/14 20:28:58
大文字小文字無視系の設定は、しばらく使ってみないと自分の好みの動作が判らんよな
楽をしようとしてるのに、縛りを少しきつくすると勝手に確定させられて「おいっ!」みたいなことがあるし

478
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/20 01:08:02
oh-my-zshとかprezto使わんのみんな

479
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/20 01:11:25
使わない
適当にググって人の設定パクるほうがいい

480
名無しさん@お腹いっぱい。[sage]   投稿日:2016/05/30 22:12:11
俺は最初oh-my-zsh使ってたけど今はantigenで落ち着いたな(´・ω・`)

481
名無しさん@お腹いっぱい。[sage]   投稿日:2016/06/19 19:22:43
やったことない(´・ω・`)

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

function hoge(){

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

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

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

これでどうだろう
コメント1件

485
483[sage]   投稿日:2016/06/30 00:17:40
>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が入力されるとそれでキャンセルされたように見えるのでこれで代用しようかな。
コメント1件

486
名無しさん@お腹いっぱい。[]   投稿日:2016/07/01 20:45:43
>485
見当違いなアドバイスだが、readに-tつけては
コメント1件

487
483[sage]   投稿日:2016/07/07 00:51:28
>486

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

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

489
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/22 11:34:44
function定義した中身を表示する方法はありますか?

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

490
名無しさん@お腹いっぱい。[]   投稿日:2016/12/22 16:04:48
typeやとあかん?
コメント1件

491
名無しさん@お腹いっぱい。[]   投稿日:2016/12/22 16:05:32
すみません。忘れてください

492
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/22 20:10:18
>490,491

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

493
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/22 20:17:52
関数定義も普通にwhichで見れると思うけど……

% function foo() { echo hoge; }
% which foo
foo () {
echo hoge
}
コメント1件

494
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/22 22:09:41
whichが置き換わってるんとちゃう?
built-in which
でいける

495
489[sage]   投稿日:2016/12/23 00:31:06
>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[sage]   投稿日:2016/12/23 00:37:07
続きです。

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

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

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

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

497
489[sage]   投稿日:2016/12/23 00:39:13
途中で書き込んでしまいましたすみません。

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

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

499
489[sage]   投稿日:2016/12/23 00:51:58
えええ

centos6です。。

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

501
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/24 14:15:22
URLをコピペするときは bracketed-paste-url-magic が役立つ

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

503
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/24 19:54:49
自分はその手のコマンドは noglob を使った alias を定義してるな

504
名無しさん@お腹いっぱい。[sage]   投稿日:2016/12/25 07:10:40
noglobは&に効かなくね?
コメント1件

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

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

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

507
名無しさん@お腹いっぱい。[sage]   投稿日:2017/02/08 15:33:37
https://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
pushd +3
とかってしたとき、3つ分スタック全体を循環させるんじゃなくて、
3つ目を取り出してスタックトップに乗せるって挙動なかったですか?
つまり最近使った順にスタックが並ぶ。

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

509
名無しさん@お腹いっぱい。[sage]   投稿日:2017/03/25 16:44:28
ulimit -aってやると一番下に
-N 15: unlimited
と出るんですが、この項目は何ですか?
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

UNIX板 タイトル検索

このスレッドが人気です(実況系)
新報道2001 4 (972)フジ実況
仮面ライダーエグゼイド 第24話『大志を抱いてgo together!』★2 (1000)テレ朝実況
シューイチ★1 (927)NTV実況
仮面ライダーエグゼイド 第24話『大志を抱いてgo together!』★3 (390)テレ朝実況
がっちりマンデー!! 「オリエンタルランド」★1 (815)TBS実況
サンデーモーニング ★2 [実況会場] (161)TBS実況
宇宙戦隊キュウレンジャー 第7話「誕生日をとりもどせ」★3 (430)テレ朝実況
【マターリ】ヘボット!-宇宙戦隊キュウレンジャー-仮面ライダーエグゼイド-キラキラ☆プリキュアアラモード【マターリ】1 (798)テレ朝実況
このスレッドが人気です(ニュース系)
【籠池メール】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★3121 (1002)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★3776 (1000)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★2120 (1002)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★1919 (1000)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★398 (1000)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★299 (1000)ニュー速+
【籠池】辻元清美氏の記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★199 (1000)ニュー速+
【森友学園】籠池氏、安倍昭恵夫人へ国有地契約で口利き依頼した経緯明かす 総理夫人付きの谷氏がFAXで「希望に添えない」と返信★45 (421)ニュー速+
UNIX板の人気スレ
初心者もOK! FreeBSD質問スレッド その122 (251)
Emacs Part 50 (273)
FreeBSDを語れ Part43 (625)
NetHack 地下:61 (1017)
Vim Part26 (528)
Emacs Part 48 (997)
Vim Part25 (987)
Cygwin使っている人いますか? その21 (980)
初心者もOK! FreeBSD質問スレッド その120 (1018)
*BSDニュース@2ch その6 (982)
FreeBSDを語れ Part37 (992)
Emacs Part 47 (995)
NetHack 地下:62 (410)
シェルスクリプト総合 その24 (999)
雑談スレだよもん☆もんだよもんもんだよもん!{36} (640)
Cygwin使っている人いますか? その22 (709)
シェルスクリプト総合 その23 (1000)
雑談スレだよもんもんもんだよ☆だよだよもん!{35} (991)
*BSDニュース@2ch その7 (664)
NetBSD その29 (490)
FreeBSDを語れ Part38 (983)
Navi2ch for Emacs (Part 21) (836)
連番のH画像/動画を一気にダウンロードする6 (984)
\chapter{\TeX} % 第九章+ (1001)
\chapter{\TeX} % 第十章 (628)
Oracle Solaris 総合スレッド 其の2 (301)
Emacs Part 46 (984)
zsh その7 (509)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 正常取得 - 3件 - 取得完了