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


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

zsh その6



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/12(金) 00:54:20 ]
zshについて語るスレ

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

・過去ログ
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/

686 名前:名無しさん@お腹いっぱい。 [2010/11/12(金) 17:28:50 ]
>>82
僕もなぜか新しいscreen立ち上げたときは反映されなくてsourceしたらようやく反映される設定があったけど
.zshenvに書いたら大丈夫だったよ.

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/13(土) 18:09:16 ]
>>686
インタラクティブシェルのときは.zshrcは読まれるはずなんだけどな

688 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/14(日) 02:34:18 ]
.zshrcの該当箇所より前にエラーがあったとか

689 名前: [―{}@{}@{}-] 名無しさん@お腹いっぱい。 [2010/11/14(日) 03:00:43 ]
>>687
そうだよね.そう思ってたんだけどなぜか読まれない設定もあるみたい

690 名前: [―{}@{}@{}-] 名無しさん@お腹いっぱい。 [2010/11/14(日) 03:10:44 ]
>>688
エラーがあったらzshはそのエラーの箇所を教えてくれるじゃん

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/14(日) 21:31:33 ]
.zshrc を
bindkey "^P" history-beginning-search-backward-end
だけにしても同じなのかね。

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 15:38:06 ]
sshのログイン先で実行したzshスクリプトをdisownしてからログアウトすると、
何故かプロセス終了まで待たされてしまいます。
$ cat hoge.sh
#!/bin/zsh
sleep 3
$ ./hoge.sh &>/dev/null </dev/null &!
$ exit <---待たされる

スクリプトをzsh以外にしたり直接プロセスを実行したりすると、ちゃんとログアウトできます。
$ cat hoge.sh
#!/bin/sh
sleep 3
$ sleep 3 &>/dev/null </dev/null &!

入出力は全部閉じてるはずなんですが、zshだと何故こうなるんでしょうか?

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 19:50:47 ]
試したけど待たされなかったよ。なんか他に条件があるのかも。

694 名前:692 mailto:sage [2010/11/18(木) 21:20:48 ]
>>693
そうですか。
check_jobs が関係するかなと思いましたが、有りと無しともに同じでした。
他の設定が悪いのかと思い、rm -r .z* して試しましたが、やはり同じでした。

↓バージョンです
$ zsh --version
zsh 4.3.10 (x86_64-redhat-linux-gnu)




695 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 20:15:39 ]
たまに「.zhistory.84VoUD」みたいなテンポラリ的な履歴が作られるんだけど何でだろう?
ログアウトはちゃんとしてるのに

696 名前:名無しさん@お腹いっぱい。 [2010/12/02(木) 10:47:13 ]
初心者質問すいません。
シェルをbashからzshに代えたら、ログインし直すたびにhistoryコマンドの履歴が消えてしまっています
.zshrcには
HISTFILE=$HOME/.zsh_history # 履歴をファイルに保存する
HISTSIZE=100000 # メモリ内の履歴の数
SAVEHIST=100000 # 保存される履歴の数
と書いていて、.zsh_history自体をlessで覗くと記録が残っているのですが…

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/02(木) 13:16:49 ]
別のファイルで先にHISTFILEが設定されていてそっちから読まれちゃったとか?

698 名前:696 [2010/12/06(月) 13:00:10 ]
すいません、超勘違いで無事に書き込みされていました!


699 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/06(月) 20:39:58 ]
SuSEとかだと/etc/zsh*で結構設定してるんだよな
HISTFILEを.zshenvに書いてたせいでハマった覚えが

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 19:12:31 ]
bashの「変数のn文字目からm文字目を取り出す」という機能はzshにはないんですか?
こんな感じのやつです
$ str=hoge
$ echo ${str:1:2}   ←先頭は0から
og
$ echo ${str:1}   ←2つ目を指定しないと末尾まで
oge

701 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 21:06:59 ]
>>700
% str=hoge
% echo $str[2,3] # 先頭は 1 から
og
% echo $str[2,-1] # 末尾は -1 から
oge
% echo $str[2] # n 文字目
o


702 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 22:01:16 ]
>>701
ありがとうございます!そんな方法があったとは・・・
配列の場合もできるんですね
$ str=( hoge fuga )
$ echo ${str[2][1,-1]}
fuga

703 名前:名無しさん@お腹いっぱい。 [2010/12/23(木) 03:08:11 ]
hoge.txt
内から、piyoという文字列を検索して、それ以降の行を取得するのってどうすればいい?
perl使えば可能ではあるけど・・・・これはシェルスクリプトスレで聞くべきか

cat hoge.txt |perl -ne 'if($i==0){if(m:piyo:){$i=1}}else{print}'

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 03:41:15 ]
スレチだね

grep -A99999999 'piyo' hoge.txt
perl -ne '$f|=/piyo/and print' hoge.txt



705 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 05:54:50 ]
9999999とか使うよりも、`wc -l`使ったほうが良いんでないかい?

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 08:20:45 ]
sedでええやん


707 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 10:39:34 ]
sed '1,/piyo/d' hoge.txt ってな感じ?

>>700
12/20 に出たばかりの 4.3.11 のリリースノートを読んであまりのタイムリーさに笑ってしまった

> Parameter expansion has been enhanced to provide the ${NAME:OFFSET} and ${NAME:OFFSET:LENGTH} syntax
> for substrings and subarrays present in several other shells.

708 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/31(金) 00:47:09 ]
>>695
うちもそれ偶にみると大量(でもないか)にできてて、
rm .zsh_history.* とかしてたんだけど、
今みるとないな。前消してからけっこうたった気がするけど。

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/01(土) 23:31:40 ]
ネットが瞬断して端末が切れたとかはないの?

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/06(木) 23:45:20 ]
zsh-4.3.[10,11]のelite2プロンプトで変な文字が入る

┌┌(hoge@hage)┌(10001/pts/6)┌(11:42pm:01/06/11)┌-
└┌(%:~)┌-

誰か同じ症状の人いない?
prompt_elite2_setupはzsh-4.3.9(正常なプロンプトが出る)に含まれる物と同じみたい

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/08(土) 21:48:53 ]
>>703
% sed '1,/piyo/d' hoge.txt
で簡単にできるはず。

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/09(日) 01:27:28 ]
すでに>>707にあるがな

713 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/09(日) 04:00:39 ]
zsh睾丸

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 00:17:01 ]
>>710
prompt は使ってないけど…
期待値は?
prompt_special_chars は変わってない?

┌┌(hoge@hoge)┌(516/pts/4)┌(12:13午前:01/14/11)┌-
└┌(%:~)┌-

あー俺もヒストリ10000ぐらいにしよっかなー



715 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 00:18:14 ]
書き忘れたけど >>714 のプロンプトはうちで試した結果ね。

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/14(金) 10:29:40 ]
prompt テーマだかは使ったことないけど
それのどこが "変" でどうなっているべきなの?

↓と似たような感じに見えるけど…
www.linuxaria.com/wp-content/uploads/2010/10/prompt.jpg

717 名前:710 mailto:sage [2011/01/14(金) 20:30:04 ]
>>714
prompt_special_charsが変ってるみたい
4.3.9のelite2プロンプトは下記の通り '┌' が付かない

(hoge@hage)(10015/pts/7)(08:26pm:01/14/11)-
(%:~)- diff -u prompt_special_chars-4.3.*
--- prompt_special_chars-4.3.9 2011-01-14 20:26:13.012731694 +0900
+++ prompt_special_chars-4.3.10 2011-01-14 20:26:13.012731694 +0900
@@ -8,7 +8,7 @@

typeset -gA schars

-if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then
+if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then
schars[300]=$'\xe2\x94\x94'
schars[304]=$'\xe2\x94\x8c'
schars[332]=$'\xe2\x94\x8c'
@@ -20,6 +20,6 @@
schars[260]=$'\xe2\x96\x91'
else
for code in 300 304 332 333 371 372 262 261 260; do
- eval "char[$code]=\$'\\$code'"
+ eval "schars[$code]=\$'\\$code'"
done
fi


718 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/22(土) 23:57:26 ]
解決 ?

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/23(日) 21:50:20 ]
zshマスターは時空を超える

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/28(金) 07:30:14 ]
引数リストの長さの制限を自動で超越して欲しいことは時々ある

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/28(金) 18:01:18 ]
cvs updateできないの俺だけ?
Fatal error, aborting.
anoncvs_zsh: no such system user

722 名前:名無しさん@お腹いっぱい。 [2011/01/29(土) 03:48:58 ]
補完で優先順位を察して補完してくれる機能ってありますか?

autoload predict-on
predict-on
の先方予測は試したけどtab打たなくても勝手に出てるっていうのが気持ち悪い。一応Tab打った時だけ反応して欲しい。

723 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/31(月) 00:57:02 ]
?つまり?

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/12(土) 18:27:10 ]
ho



725 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/11(月) 02:01:20.99 ]
_history-complete-{older,newer} って menu select ができないのかな

726 名前:名無しさん@お腹いっぱい。 [2011/04/15(金) 18:13:04.18 ]
/a/b/c が /A/B/C というディレクトリへの symlink のときに、/a/b/c に移動してから
ls ../[TAB] とすると /A/B 以下のファイルが補完対象になります。
これを /a/b 以下のファイルを対象にしたいのですが、どのようにすればいいのでしょうか?

ちなみに CHASE_DOTS と CHASE_LINKS はオフにしています。

727 名前:名無しさん@お腹いっぱい。 [2011/04/15(金) 22:59:29.50 ]
>>726 plus
mkdir /a and /A
mkdir /b and /B
mkdir /c and /C    ON files of directory.

728 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 09:02:53.75 ]
>>726
そんな補完したところでlsは失敗するだけなので意味がないのでは?

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 09:50:13.12 ]
そもそも >727 がなにが言いたいのかわからん

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/16(土) 15:01:31.51 ]
tempfile==(foo_process) と一時ファイルの名前を取得しておいて、後で $tempfile を
処理するような zsh スクリプトを書くことがあるのだけど、4.3.6 から 4.3.11 に
バージョンアップしたら動かなくなった。

後で処理する段階では削除済みになっている。セキュリテイの問題か何かで、一時ファイルの
寿命を変更したのだろうか。お手軽に一時ファイルを扱えて便利だったんだが。

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/30(土) 00:44:02.87 ]
元からそう動くと思っていたが、
前は作りっぱなしだったのか。

732 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/01(日) 01:48:08.75 ]
>>731
それで思い出した。スクリプト終了時には多くの場合自動的に消えるのだが、
たまに /tmp/zsh* が残ったままになるので、trap で消すようにしてあったんだった。
やはりバグだったのかもしれない。

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 16:48:39.90 ]
内蔵コマンドのniceが欲しい

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 21:01:39.43 ]
なぜ?



735 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/14(土) 23:16:30.10 ]
そっちの方がniceだから

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/16(月) 12:00:38.09 ]
そういうコマンドはないスね。

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/16(月) 19:33:27.50 ]
ナイスな切り返し!

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/17(火) 01:48:06.20 ]
ナイスな椅子

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/17(火) 20:54:54.76 ]
コッシーか

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/24(火) 04:21:47.89 ]
電動オナホールをzshで制御

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/25(水) 00:17:08.52 ]
俺は童貞だ!

742 名前:名無しさん@お腹いっぱい。 [2011/05/26(木) 00:23:11.80 ]
すみません。zmvの使い方を教えてください
1.pdf 2.pdf ... 9999.pdf を

0001.pdf 0002.pdf ... 9999.pdf と、
先頭に0を含むファイル名に変えるにはどうすればできますか?

743 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/26(木) 01:00:04.31 ]
zmv '(*).pdf' '${(l:4::0:)1}.pdf' でいいのかな?
正直こういうzshの変な機能を使うのはどうかと思う

744 名前:742 mailto:sage [2011/05/26(木) 01:40:01.29 ]
>>743
ありがとうございます。
>正直こういうzshの変な機能を使うのはどうかと思う
痒いところにピンポイントで、とても助かりました。



745 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 13:12:40.65 ]
変な機能はいいんだけど、次に必要になる時までに使い方を忘れてしまうのが難点。

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 13:16:40.66 ]
>>745
HISTSIZEもっとでかくしようぜ?

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/28(土) 19:43:09.37 ]
% echo $SAVEHIST
0

% echo $HISTSIZE
100000

保存したいなー、と思ったときだけ
% SAVEHIST=1 fc -W $HISTFILE

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/11(土) 02:40:20.24 ]
また変わったことを‥ 似たことを考えたことはあるけど。
さて、ひとまず 10倍にするか。

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/14(火) 07:27:59.44 ]
4.3.12

750 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:10:11.82 ]
zshで時空を超えた奴はいないか?

751 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:14:02.51 ]
色即是空、空即是色
シェル製作者は冥界へ行ったまま帰ってこない

752 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/15(水) 21:25:26.73 ]
zsh 4.3.12 で setopt ksh_arrays にしてると _main_complete でエラーが出て
補完が効かなくなるのはおれだけ?
そのファイルで setopt localoptions no_ksh_arrays すると大丈夫っぽいけど、
正しい方法か分からない。

753 名前:名無しさん@お腹いっぱい。 [2011/07/13(水) 21:45:12.61 ]
「# cp /us」で上キー押すと履歴が補完されて
「# cp /usr/home .」のようになるのですが、
たまに、「# cp /us」で上キー押しても履歴補完されず、もう1度押すと
直前のコマンドが表示されてしまいます。
これはどこか.zshrcがおかしいのでしょうか?
ちなみに、大地さんのjournal.mycom.co.jp/column/zsh/024/index.html
を、履歴補完のキーだけ改造しただけだったと思います。

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/18(月) 16:57:18.63 ]
>>752
まだ 4.3.11 だしエラーの内容知らんけどまあ正しいんじゃない?

>>753
↑キーには何 bind してんの?



755 名前:753 [2011/07/19(火) 03:17:01.85 ]
autoload history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "\e[A" history-beginning-search-backward-end
bindkey "\e[B" history-beginning-search-forward-end
bindkey "\\ep" history-beginning-search-backward-end
bindkey "\\en" history-beginning-search-forward-end

です

756 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/20(水) 23:31:23.84 ]
よく起きるなら history-search-end の先頭で setopt xtrace してみれば何かわかるかもね

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/06(土) 12:36:50.68 ]
前から思ってたけど **/* は ** でいい気がする。表記法として。
/* が無駄に思える。
要らなくね?と思いながら / を打っている。

758 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/06(土) 15:51:31.14 ]
え?

759 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 14:30:44.99 ]
そういやMSX-DOSにはディレクトリがなかったっけ
かつてファイルしかない世界がそこにはあった
>>757はそんな時代に生きているんだ

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 17:54:21.35 ]
いや **/* だけ特別扱いしたらっていう提案でしょ。
単に ** の時は **/* に、
**/*.c みたいなやつは今までどおりでと。

761 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 19:43:41.53 ]
特別扱いというより、**のみの意味を考えた時に
**/*と何ら変わりがなくね?って話かと

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 21:32:22.84 ]
/** ここはコメントです **/

763 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/10(水) 23:20:40.36 ]
>>760
それなら、グローバルエイリアスで '**'='**/*' すればいいだけじゃね?

764 名前:757 mailto:sage [2011/08/12(金) 03:16:42.94 ]
>>761 が近い、というよりそのものかな。

>>763
なので、悪くない案だけど理想は dir/** -> dir/**/* になることかな。
alias -g '**=**/*' じゃ dir/ 付きは変わらなかった。
色々やってまで実現したい訳じゃないので。個人的にはこういう仕様の方がよかったなー、というだけで。
まあ熟慮した訳じゃないので破綻してるかも知れないけど。

つか man zshexpn の Recursive Globbing 見ると

As a shorthand, `**/' is equivalent to `(*/)#'

とあり directory についての記法になってるけど、
感覚的には `**' が `(*/)#*' なんだよなー。
まあこれだと **/foo が foo に match しないけど。
無理に書くと ** を ./(/*)# として match したものから . を除いて正規化したものが期待結果かな。
zsh の glob として正しくないけど。
なんかもう破綻してる気がする。

いや、というか訳わからんこと書いたけど結局こうなってほしいってことか。

** -> (*/)#*
**/ -> (*/)#

更にいうとこうか。最初に戻ってるよ。

** -> **/*

どうやら混乱していたようだ。



765 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/26(金) 03:48:57.64 ]
#!/bin/zsh

766 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/30(火) 04:55:18.98 ]
zshの本っていうの買ってきた。
まだ読んでない。

767 名前:名無しさん@お腹いっぱい。 [2011/09/20(火) 00:02:11.12 ]
リンク先のないシンボリックリンクファイルをまとめるglobってあります?

768 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/20(火) 04:23:59.57 ]
*(-@)かな?

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/20(火) 10:31:57.15 ]
ウナー *(-@-)*

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/25(日) 14:52:34.21 ]
ttp://www.clear-code.com/blog/2011/9/5.html

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/25(日) 15:18:54.59 ]
>770
+1

772 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 04:20:36.81 ]
最近、zshに入門した者なんですが Mac10.6の環境で

PROMPT=$'%(!.#.%%)' ;

を実行するとスーパーユーザだとプロンプトの接頭辞が(そう呼んで正しいのか否かもわかりませんけど)
#
になり、その他だと
%
になるこの原理がどうしてなのかわからず謎めいているのですが

おわかりになる諸先生方いらっしゃいましたらご教授ねがえませんでしょうか

773 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 06:05:16.72 ]
zshmisc(1)に書いてある。

774 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/30(金) 09:58:43.77 ]
キターーーーー!!
ハッカーさんありがとうww



775 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/02(日) 21:41:07.32 ]
zshってbashのスクリプト使える?

776 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/03(月) 00:05:32.72 ]
tukaeru

777 名前:名無しさん@お腹いっぱい。 [2011/10/03(月) 09:18:40.25 ]
ある程度は。


778 名前:名無しさん@お腹いっぱい。 [2011/10/03(月) 09:27:19.51 ]
スーパーユーザだとプロンプト山桐慎也

779 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/10(月) 20:00:44.39 ]
zshで function { local a=("hoge"); } とやろうとすると怒られる。
bashでは出来るのに。そういう仕様なの?

local a
a=("hoge")

ってやるしかないの?

780 名前:名無しさん@お腹いっぱい。 [2011/10/10(月) 20:33:33.77 ]
man zshbuiltins の typeset (localの本体) の説明より。

For each name=value assignment, the parameter name is set to value.
Note that arrays currently cannot be assigned in typeset expressions,
only scalars and integers.

ということで現行の制限事項という感じじゃないだろうか。


781 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/11(火) 00:08:27.49 ]
>>780
ありがとう。そういう事なら仕方ないね。

782 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/13(木) 22:45:40.31 ]
エイリアスに補完を効かせるにはどうしたらいいですか?
たとえば、alias adx='chmod +x' とした場合、このadxにchmodと同様の補完を
効かせたいんですが、やはり _adx みたいな補完ファイルを自分で用意しろってことですか?

783 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/13(木) 22:58:24.95 ]
俺の環境では何もせんでも chmod +x [TAB] と同じ補完になるが……

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/14(金) 13:06:26.35 ]
多分 compdef adx=chmod とかいう話なんでは



785 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/15(土) 19:25:37.60 ]
ctrl E で行末に移動したあと、単語単位でカーソル位置を戻したいんだけど、どうやんの?


786 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/15(土) 19:39:23.41 ]
bindkey -e なら Alt-B?

787 名前:名無しさん@お腹いっぱい。 [2011/10/15(土) 21:52:03.41 ]
なお、何をもって単語と見なすかは WORDCHARS 次第。


788 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/18(火) 02:25:40.80 ]
これってreadlineの機能?


789 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/18(火) 02:37:36.81 ]
readline使ってないよ
独自実装

790 名前:名無しさん@お腹いっぱい。 [2011/10/20(木) 23:52:27.78 ]
キーバインドの一覧を知りたいのですがどうやればいいですか?

791 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/21(金) 00:42:05.88 ]
bindkeyでした

792 名前:名無しさん@お腹いっぱい。 [2011/11/05(土) 22:41:39.08 ]
zshを使ってみようと思うのですが、勉強するために最適な書籍などはありますか?

793 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/05(土) 23:07:47.87 ]
>>792
この本がお勧めです。
Introduction of the ZSH
www.gentei.org/~yuuji/rec/pc/intro-zsh.html#zshbook

794 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 08:15:47.33 ]
man zshall



795 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 10:18:22.94 ]
迷宮の入り口晒すな

796 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/12(土) 18:58:04.35 ]
TABキーの補完をbashのようにファイル・ディレクトリのみにするには
どう設定すればよいでしょうか?

低スペックのノートPC上でcygwinのzsh 4.3.11 を使っていますが、
TABキーを押すと5〜10秒近く待たされることもあります。
bashだと一瞬なので、zshでも補完の検索をカレントのファイルのみにしたいです。


797 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/13(日) 22:52:50.08 ]
compinit しなければいいんじゃないかな。
てか bash でもいいような気がしたけど、きっと気のせいだな。

798 名前:796 mailto:sage [2011/11/14(月) 22:49:23.21 ]
おまじないのようにcompinitしてましたが、
プログラマブル補完機能というのが効いていたのですね。
これを外して何か副作用あるかなと思いましたが、特に問題なさそうです。
ありがとうございました。

ヒストリの複数行コマンド編集やTABキーで補完候補の選択ができるとこが
bashになくて気に入ってる機能です。

799 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/18(金) 22:34:45.85 ]
あーなんか履歴検索とかって space を and にした絞り込みにしたら使いやすいかもなあ。
とか最近 unite.vim を使って今 history-incremental-search-backward 呼んだら思った。

800 名前:名無しさん@お腹いっぱい。 [2011/11/18(金) 22:53:12.54 ]
history-incremental-pattern-search-backward
で我慢してくれ。


801 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/20(日) 08:59:19.42 ]
>>799
そこでvimshellですよ!

802 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/21(月) 14:05:04.51 ]
vimshel使うのと、screenでターミナル分割して使うのと何がちがうの?


803 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/23(水) 10:57:13.05 ]
screenだと、デタッチアタッチが出来るのがかなり大きいと思う

804 名前:名無しさん@お腹いっぱい。 mailto:sageage [2011/11/27(日) 20:14:54.56 ]
bindkey "^p" history-beginning-search-backward-end
bindkey "^n" history-beginning-search-forward-end
bindkey "\\ep" history-beginning-search-backward-end
bindkey "\\en" history-beginning-search-forward-end

これって↓↑キーと同じですか?
なら自分はいらないんですが



805 名前:名無しさん@お腹いっぱい。 [2011/11/27(日) 20:21:18.83 ]
うちでは Ctrl-P/Nには up/down-line-or-history が割り当てられているな。


806 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 17:40:25.43 ]
case ${UID} in
37 0)
38 PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') %B%{${fg[red]}%}% /#%{${reset_color}%}%b "
39 PROMPT2="%B%{${fg[red]}%}%_#%{${reset_color}%}%b "
40 SPROMPT="%B%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b "
41 ;;
42 *)
43 PROMPT="%{${fg[red]}%}%/%%%{${reset_color}%} "
44 PROMPT2="%{${fg[red]}%}%_%%%{${reset_color}%} "
45 SPROMPT="%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%} "
46 [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
47 PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') ${PROMPT}"
48 ;;
49 esac


これの tr の定義がわかりません?
どっかにありますか?


807 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 17:42:34.33 ]
en.wikipedia.org/wiki/Here_document#Unix_Shells

これ?

808 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 18:17:54.45 ]
${HOST%%.*}

これっの%%.*って意味的には
%% %. %*

みたいなことでしょうか?

809 名前:名無しさん@お腹いっぱい。 [2011/11/28(月) 20:37:32.06 ]
>>808

HOST の後の部分で
.* というシェルのパターンに合致する部分をできるだけたくさん捨てる。

HOST=www.google.co.jp なら .google.co.jp を捨てた www になる。

% が一つなら最小限捨てる。(.jpを捨てたwww.google.co)


810 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/28(月) 22:42:29.40 ]
>>805
>>809
どうも

811 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/08(木) 23:47:37.72 ]
4.3.14

812 名前:アンネ [2011/12/09(金) 23:59:43.22 ]
やぁ(笑)

813 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 16:39:36.98 ]
zshで↓のようなプロンプトにしたいんだけどどうすればいい?めんどくさいから丸投げする。
PS1="\[\033[1;32m\][\u@\h \w]\[\033[0m\]\n\[\033[1;37m\]>> \[\033[0m\]"

教えてください。

814 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 19:19:24.11 ]
autoload -U colors && colors
PS1="%{$fg_bold[green]%}[%n@%M %~]%{$reset_color%}
%{$fg_bold[white]%}>> %{$reset_color%}"



815 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 21:25:31.79 ]
>>814
ありがとうございます!

816 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 23:20:55.64 ]
fwd-searchして今の場所でOKのときにfwd-searchを抜けるのってどうやってますか?
Ctrl-F,Bで移動するとfwd-search解除されるのでそうやってますが、もっと良い方法ないかなと思って・・・
Enterしたらコマンド実行しちゃうし

817 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 00:36:11.96 ]
>>816
C-eってやってる。

818 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 06:48:36.41 ]
Type RET to exit, leaving point at location found.

819 名前:816 mailto:sage [2011/12/28(水) 01:19:08.43 ]
>>817
C-eって行末移動ですよね?行末じゃなくてその場に留まりたいんですが

>>818
RETすると実行しちゃうんですけど・・・設定の違い?

820 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 08:10:40.33 ]
すまんEmacsの話だと思ってた

821 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:17:17.49 ]
>>816
ESC ESC ESC でカーソルがその場に残るよ。

822 名前:816 mailto:sage [2011/12/29(木) 11:16:03.68 ]
>>821
ほんとですね。でも3連打はまんどいな・・・

823 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 14:50:12.84 ]
isearch 中の話なら accept-search を適当なキーに割り当てておくとか
bindkey -M isearch '^[g' accept-search

824 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:29:20.63 ]
>>821 ESC ESC で足りるけど… 最新だと違うんかな
search 専用の keymap がないからなあ… と思っていたら isearch なんて追加されてたのか
久しく進化を追ってない内に



825 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:39:02.48 ]
>>822
Alt で ESC が入れば A-C-[ で 1 key だよ。これは 3 key というのか?同時押し key 数多くて勧めないけど。
ちなみに ESC ESC は undefined-key だから副作用がないだけで、
他の unbound key でも同じだよ。俺の環境だと "^[@" とか。

826 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:20:44.81 ]
^[^|
@

827 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/01/14(土) 10:44:12.89 ]
sudo command
てすると、commandのaliasが展開されない
どすればsudoでもaliasコマンド使える?

828 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 12:10:30.76 ]
global aliasでどうか?


829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 16:53:03.33 ]
alias sudo='sudo '
がよくある解

830 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/01/14(土) 23:01:13.40 ]
>>829
それ見つけたけどなんかうまくいかない
$@とか含むエイリアスはダメなのかな?

831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 23:23:23.21 ]
>>827
そのエイリアスってroot権限なくても展開できるのかな。

832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 01:05:45.91 ]
>>829
なにそのクールなトリック全然解らない、と思ったらそういう仕様があんのね。
見たのは↓の話で bash だけど。man zshall に該当記述が見付からない…
ttp://d.hatena.ne.jp/Yudoufu/20110326/1301129885
この人の言っている偶然の抑止力って何のことだ?

>>830
alias 内での $@ は多分期待動作と違うと思うよ。普通に使えない。
あーでもそれは alias sudo 関係ないから違う話なのかな?
もしかして alias ではなく function が混ざってるのかも。

↓ でも同じことができると思うけど、これもダメ?
function が原因なら同じ話だけど。

# 1回まで展開する
sudo () { command sudo ${aliases[$1]:-$1} $*[2,$] }

>>831
root 関係ないような…

なんか試してたら
alias echo='echo[TAB]' # ([TAB] は "^[^I" is self-insert-unmeta で入れた tab)
の後に echo a とか実行すると履歴に echo[TAB]a が残ることを発見してしまった。
どーでもいいけどなんだコレ。
そしてこれもどーでもいいが history では [TAB] も \t (2文字) も \t と表示されて区別できない。

833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 01:07:36.87 ]
ちなみに展開1回までとかアホかという場合はこれで。

# 展開回数制限なし
sudo () {
  local cmdline arg
  local -A hist
  cmdline=($1)
  while (( ! ${+hist[$cmdline[1]]} && ${+aliases[$cmdline[1]]} ))
  do
    hist[$cmdline[1]]=
    cmdline=($aliases[$cmdline[1]])
    arg="$cmdline[2,$] $arg"
  done
  command sudo $cmdline[1] $arg $*[2,$]
}

834 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:22:12.80 ]
RC_EXTENDED_PARAM って代入のときは効かないんですかね?
% num=(1 2 3)
% echo A${^num}B
A1B A2B A3B
% str=A${^num}B
% echo $str
A1 2 3B

こうすれば目的を果せますが…
% str=$(echo A${^num}B)
% echo $str
A1B A2B A3B



835 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:28:21.85 ]
ちゃんと効くけど?
str=(A${num}B)

836 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:29:28.68 ]
おっと ^ を入れ忘れた。 ${^num}ね。

837 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 01:08:51.91 ]
>>835-836
なるほど、ちゃんと配列として代入せにゃならんのですね

838 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/31(火) 11:30:31.32 ]
zshでcat file_not_exist >/dev/null 2>&1 | w3mとやると、
catのエラーメッセージがw3mに渡されることに気付きました。
shのリダイレクションの解釈だとパイプには何も渡されないはずですけど、zshはどうしてこういう動作にしてるんですか?
何か理由があるんでしょうか。

839 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/31(火) 14:32:40.13 ]
>>838
unsetopt multios

840 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 07:31:41.94 ]
>>839
じゃなくて、どうしてmultios状態をデフォにしてるのか、何か理由があるのかを聞いてるんだが。

841 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:02:56.24 ]
>>840
command > file1 > file2
とやると両方のファイルに出力されるのがzshというかmultiosの特色だね
開発者の意図は知らんが、有効にすることでデメリットがあるわけでもないから有効になってるんじゃないかな

842 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:03:33.59 ]
そりゃ作者が便利だと思って取り入れた機能はデフォにするだろ

843 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:07:08.37 ]
であれば、
command > /dev/null | command
の場合は別にするべき。
大きなデメリットだな。

844 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:11:02.94 ]
teeを使いたくなかった奴が作ったのにそりゃないな



845 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:14:01.25 ]
>>842
作者が便利だと思っても互換性に問題がある機能はデフォではOFFにするのが鉄則。

846 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:32:47.47 ]
はて、非互換ってどのシェルに対して。shとかだとほとんどデフォで使える機能なくなる気が

847 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 08:34:55.21 ]
>>846
他のシェルに対する互換性じゃなくて、multios導入前のzsh自身に対する互換性ね。

848 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:11:56.10 ]
そんなこといったら zsh v0.0.1 とかから何も進歩できないじゃん

849 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:25:05.49 ]
>>845
作者にそう言えばいいじゃない。

850 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 10:56:27.96 ]
>>845
>作者が便利だと思っても互換性に問題がある機能はデフォではOFFにするのが鉄則。
こういう鉄則始めてみたんだが、どこで言われてる奴?

851 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 11:12:17.72 ]
まあ互換性に関しては原則としては理解できる主張だが
ことインタラクティブ関係の便利機能はどこかでデフォルト on にする
タイミングってものはあってもいいわけだ

いやなら古いの使ってろってのも間違ってないし

852 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 11:14:19.56 ]
互換性を重視するか互換性捨てて新機能を重視するかは
単にポリシーの問題、決めの話でしょ。
ぜんぜん鉄則ではないよ。

853 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 12:08:24.98 ]
>>840
ウダウダ書かずに最初からそう書けよ


854 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 13:57:53.03 ]
まぁすぐ書いたからいいじゃん。



855 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:34:26.24 ]
>>854
そうだね。連投に次ぐ連投で予想以上の嫌悪感を撒き散らしていたよね。

856 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:42:13.97 ]
>>838>>839>>840だから連投ってほどのこともしてないじゃん。

857 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:46:18.61 ]
>>838=>>840=>>843=>>845=>>847
IDじゃなくてもこれだけ書き込んだら目立つ

858 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 14:47:04.58 ]
>>853>>840への指摘でしょ?
それ以降の話は関係ないじゃん。

859 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 15:20:42.30 ]
>>858
そう、>>853の意図としては>>840に対してのみの指摘。

元々のウダウダ書いている>>838は multios を知らない人間の質問の仕方。
だからその回答は「zsh には multios って機能があるから」で十分で、
あとはググりでもすればいくらでも満足してもらえると思ったんだがな。


860 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:08:39.89 ]
838です。私の書き込みは838だけで、840以降のレスは別の方です。
zshが複数ファイルへのリダイレクションができるのは知ってましたが、
その機能がcommand >/dev/null 2>&1 | commandの動作に影響することまで頭が回りませんでした。
あとは自分でzshmisc読んで勉強しようと思います。
回答して下さった方、どうもありがとうございました。

861 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:10:04.40 ]
2chとは思えないまともすぎる書き込み…

862 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/01(水) 16:16:08.78 ]
なりすまし多いよなぁ。
質問する際はトリップ推奨ってことにした方がいいね・・・。

863 名前:855=857 mailto:sage [2012/02/01(水) 17:32:02.57 ]
>>860
了解しました。

864 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/03(金) 01:55:09.12 ]
初めてトリップつけるけど、これでいいの(´・ω・`)?



865 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/03(金) 01:55:36.82 ]
できたっぽ(´・ω・`)ノみんなよろしくな

866 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/03(金) 02:15:05.15 ]
なんの必要があって…?

867 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 14:52:47.90 ]
>>844
ファイルと標準出力の両方にリダイレクトしたい場合もmultiosで出来るんですか?
これはteeじゃないと駄目かと思ってました

868 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 16:55:57.40 ]
・マシン毎にzsh_historyを使い分けたい
・異なるマシンのzsh_historyを参照したい

この両方を同時に実現する方法はないかな。
今は複数マシンのzsh_historyをsamba等で共用してるけど、
マシン単位で区別ができないのがツライ。

869 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:07:58.08 ]
HISTFILEにホスト名を含むようにすればいいんじゃないの?

870 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:10:24.09 ]
いや、エディタでファイルを読めればいいという意味なのじゃなくて、
履歴検索時全ホスト分から探して欲しいという意味なのか。

871 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 17:16:18.66 ]
zshmiscのzshaddhistory関数の使用例に、通常の履歴に加えて
カレントディレクトリにも履歴を書き出す例があった。


872 名前:名無しさん@お腹いっぱい。 [2012/02/04(土) 19:59:07.40 ]
OpenSUSEなんだけどPATHを.zshenvに書くと
/etc/zprofileで参照される/etc/profileで上書きされる.

SUSEで使っている人はPATHをどこに書いてますか?

873 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/04(土) 21:25:43.31 ]
つーか/etcのファイルを読まないようにする方法ってあったっけ?
大抵のzshユーザは/etcのファイルよりも細かく設定してるし、邪魔なだけだよね

874 名前:872 mailto:sage [2012/02/04(土) 21:40:29.86 ]
>>873
PATHも追加ならいいんだけど最初から設定するみたいで消されちゃう
スクリプトを使うから必要なんだけど,.zshrcに二重で書くのも変だし…



875 名前:名無しさん@お腹いっぱい。 [2012/02/05(日) 01:26:19.14 ]
最初に /etc/zshenv を読み込むのは不可避。
ユーザーが介入できるのはその次の ~/.zshenv か。
setopt no_global_rcs だっけ?



876 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 07:18:57.19 ]
>>867
そりゃできますよ。843が文句言ってるけどw

877 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 11:14:06.71 ]
>>876
複数ファイルへのリダイレクト時にはmultiosで動作して、
ファイルとパイプの組合せの場合はmultiosにならないような設定とかオプションとかないの?

878 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 13:05:09.41 ]
>>875
サンクス。読み込み順は↓
ttp://cocelo.s201.xrea.com/wiki/index.php?Shell%2Fzsh

というわけで>>874は setopt no_global_rcs を .zshenv に書くのがよろし

879 名前:872 mailto:sage [2012/02/05(日) 15:12:20.38 ]
>>875
>>878
うまくいきました
ありがとうございます

880 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 17:59:39.17 ]
>>876
もしかして、こんなふうに標準出力のデバイスファイルを指定するんですか?
echo hoge >file >/dev/stdout
しかし標準出力には何も出ない・・・

881 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 18:32:09.66 ]
>>880 を試そうとして、

echo hoge >file1 >file2 >/dev/stdout
のようにファイル2つと/dev/stdoutを指定したら、
zshがCPU使用率100%になって固まった。

echo hoge >file1 > /dev/stdout ←だと固まらない。
echo hoge >file1 >file2 >/dev/stdout ←で固まる。

再現率100%。バグか?w

882 名前:880 mailto:sage [2012/02/05(日) 19:38:57.92 ]
stdoutじゃなくてstderrだと出る・・・
echoって標準エラー出力に出す仕様だっけ??

>>881
自分もそうなりました。zshは4.3.10です。

883 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 20:05:06.90 ]
25016 read(15, "hoge\n", 4092) = 5
25016 write(13, "hoge\n", 5) = 5
25016 write(14, "hoge\n", 5) = 5
25016 write(16, "hoge\n", 5) = 5
25016 read(15, "hoge\n", 4092) = 5
25016 write(13, "hoge\n", 5) = 5
25016 write(14, "hoge\n", 5) = 5
25016 write(16, "hoge\n", 5) = 5

止めかたがわからずPCが焼け石になるところでした

884 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 20:37:13.09 ]
うーん、こんな危険なmultios状態をデフォにするべきじゃないねw



885 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 21:42:57.78 ]
ん?

echo hoge >file1 >file2 >/dev/stdin

じゃないのか

886 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 21:46:28.52 ]
>>885
stdinじゃないよ。

echo hoge >file1 >file2 >/dev/stdout
なのに、ストリームがループして無限にhoge hoge .... データが吐かれる。

887 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/05(日) 23:38:13.30 ]
そうじゃない。885は正しく動作するコマンドライン
誤記の指摘ではなくて、やりたいことはstdinじゃないのか?と

888 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/05(日) 23:46:02.29 ]
じつはぼくはまだzsh使ってなくて、bashなんだけど(´・ω・`)
みんなはなんでzshを使い始めたの?
bashから乗り換えたくなるような機能って何があるの?

889 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:06:28.69 ]
ないよ

890 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:13:22.46 ]
>>889
だな。
今のbashはzshの持っている機能を100%持ってる。
bashにしかない機能も山ほどある。


891 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:16:57.70 ]
>>887
ほんとだ・・・なんでstdinなんですかね?逆のイメージ持ってた
スレチですが教えてください

892 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/06(月) 00:27:31.43 ]
>>889-890
そ、そうなんだ(´・ω・`)

893 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 00:29:26.85 ]
>>892
そうだよお。
bashがなんでLinuxでスタンダードシェルになってるかこれでわかるよね?
おじさんを信じてzshなんて使うのやめようねぇ。

894 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/06(月) 00:36:22.89 ]
>>893
LinuxじゃなくてMacを使ってるんだけど(´・ω・`)
じゃあ、おじさんはどうしてzshを使っているの?



895 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 01:15:11.82 ]
>>890
じゃ具体例挙げてくれ
最近のbashはインクリメンタルサーチなど対応してるというのは聞いたけど

896 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 06:46:06.66 ]
>>881 >>886 が指摘してる件は重大なバグだろ?
echo hoge >file1 >file2 >/dev/stdout
って実行しただけで固まって無限サイズファイルができるって、
危なくて使えない。

897 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 09:56:43.30 ]
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。



898 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 12:00:37.83 ]
>>897
言いたいことがあるなら具体的に。

899 名前: 忍法帖【Lv=2,xxxP】 mailto:sage [2012/02/06(月) 20:48:23.62 ]
出来るかもしれんけど、より簡単に設定出来るのはzshなんじゃね?

900 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 20:57:22.55 ]
bashでzleとかいじれる?

901 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:11:50.27 ]
>>898 100% 知っているとは思えないってことじゃないかな。

902 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:29:09.15 ]
>>901
だったらそれを自分で言うべき。

903 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 21:54:16.33 ]
矛先が非建設的な方向に向いております

904 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 23:27:59.71 ]
bash にしかない機能って何?いいのある?
よさそうなら使いたい。



905 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/06(月) 23:33:50.86 ]
bashがzshの機能を入れるのはzshユーザにとっても喜ばしいことじゃない?

906 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 00:22:28.90 ]
>>890
bash にも既にあるってフレーズはよくきくからそうなんだろうなー、って思ったけど
ちなみに bash で multios ってどうやんの?
やり方がわからなかった。

907 名前:zsh初心者 ◆./pq9ARSgM mailto:sage [2012/02/07(火) 00:24:29.43 ]
けんかはやめて(´・ω・`)

908 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 01:30:33.03 ]
>>889-890はどうみてもクソコテのクソ質問を適当にあしらってるだけだろ

909 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 02:12:44.28 ]
だとして >>893 は要らんけどな。

910 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/07(火) 02:39:27.57 ]
>>885
それなら
echo hoge >file1 >file2 >/dev/tty
じゃないか?これだと抽象度に欠けるが。
echo hoge >file1 >file2 |cat
が解りやすいけど cat とか書きたくなければ
echo hoge 3>&1 >file1 >file2 1>&3
かな。試してみたら
echo hoge 1>&1 >file1 >file2
もできるね。しかし
echo hoge 3>&1 1>&1 1>&3 1>&1
で hoge が 4つでるのに対して
echo hoge 1>&1 1>&1
で hoge が 2つじゃなく1つでるのは何故なんだろう。

>>896
zsh にはバグが多い印象があるけどそれは仕様だろう。
自分が何をしようとしてるか理解してるか確認するなんて
気の利いたことは zsh はしないからな。
それがバグだってんならそうかもしれないが、まあ余計だろう。
あーでも rm * はするんだっけ?

911 名前:名無しさん@お腹いっぱい。 [2012/02/28(火) 22:50:26.88 ]
2012-02-23 : Release 4.3.17
Complete fixes from last release.

912 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/02(金) 23:20:33.32 ]
2行目ってどう訳すん?

913 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 08:40:54.41 ]
2行目は動詞がない名詞区。fixesは3単現の s じゃなくて、fixの複数形。
あとはわかるな。

914 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:27:07.25 ]
主語のIかWeが省略されてるんじゃないかな
completeは動詞でfixesが名詞
訳すと「この前のリリースからの(バグ等の)修正を完了したよ」



915 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:30:11.26 ]
主語がないと訳せない人がいるのか
ニュアンスでわかんないものかねぇ

916 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:48:41.16 ]
いや、completeは形容詞として訳して欲しい。全体で箇条書風の名詞句。

917 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 09:50:42.66 ]
>>914
completeを動詞と考えると、現在形なのはおかしいね。
なので >>916 説に1票。

918 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 10:05:43.36 ]
>>917
ああ言われてみれば確かにおかしい。というわけでリリースノート見てきた

zsh.sourceforge.net/releases.html
> Changes between versions 4.3.16 and 4.3.17
> Complete fixes from last release.

「4.3.16と4.3.17の間の変更点は何か」なので
自分もComplete fixesでひとつの名詞句と考える>>914説に改説します
「この前のリリースからの(バグ等の)完全な修正」

919 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 10:50:18.07 ]
4.3.16で直し方が半端だったバグがあって、それを完全に修正したってこと?


920 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 13:41:34.71 ]
はい

921 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 16:35:59.06 ]
zshの設定って面倒くさいな
zshの本読んでたら頭痛くなってきた・・・

うまく構成して見やすいドキュメント整えた配布版ってないの

922 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 16:44:15.83 ]
デフォルトでも十分に便利だと思うが。。。

923 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 17:14:39.37 ]
oh-my-zshでも使ったら。

924 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/03(土) 20:49:21.06 ]
更に面倒だよ...



925 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/04(日) 01:23:46.40 ]
大丈夫か。辛いなら fish とか使ったら。今どうなってんのか知らんけど。

>>915
いやー主語はどうでもいいんだけどニュアンスでしか読めなかったから
あんまり考えずに聞いてみた。
ニュアンスで読んだら見当違いの内容も浮かんだんでね。

>>919
どっちかというと 4.3.16 に対して完全にバグ修正しかしてないよってことじゃないかな。

926 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/09(金) 03:35:07.50 ]
fish初めて知ったわw
悪くなさそうだが最終更新が2009年・・・

927 名前:名無しさん@お腹いっぱい。 [2012/03/09(金) 14:06:16.31 ]
fishと名のつくシェルは fish.x しか知らんかった。


928 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 19:56:00.78 ]
sudo -s でrootユーザになると、TAB押して補完するときに↓のようになるけど何でじゃろ?
補完自体はできてるんだけど

_path_files:17: command not found: _have_glob_qual
_path_files:201: command not found: _have_glob_qual
_path_files:202: command not found: _have_glob_qual
_path_files:695: command not found: _list_files


929 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 21:17:22.57 ]
どうじゃろ?

930 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/17(土) 22:20:52.25 ]
root の設定が悪いとか

931 名前:928 mailto:sage [2012/03/18(日) 00:45:06.34 ]
「sudo -u 自分 -s」 で自分のアカウントになっても同じっす。
CentOS5.7でそうなる一方、CentOS6.2では出ない。
でも、どちらもzsh4.3.17をソースからビルドしてるし、.zsh*自体も同じなんだよなぁ。

932 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/18(日) 01:35:14.43 ]
ググって最初に出てきたものくらいは当然試してるだろうけど、
「試したけど駄目だった」くらいは書け

> Remove ~/.zcompdump and restart zsh.

933 名前:928 mailto:sage [2012/03/18(日) 02:16:08.50 ]
>>932
実は.zcompdump消すのは試してたんだけど、問題がでたりでなかったりで
よく分からずじまいだった。・・・で、今一度調べてやっと分かりました。

.zprofileにて
if [[ $SHELL == /bin/zsh ]] ;then
SHELL=$HOME/bin/zsh
exec $SHELL
fi
とすることでログインシェルの/bin/zshを最新のzshに切り替えてたんだけど、
インタラクティブシェルは.zprofileを読み込まないのを忘れてました。
新しいzshが作った.zcompdumpを古いzshで読んだのでこうなったと。
実にくだらないミスで・・・orz。皆さんお騒がせしました。

934 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/21(水) 23:26:33.31 ]
以下のようなディレクトリ構成のところで、hoge下にdir1/dir2へのシンボリックリンクがあるとします。

$tree hoge
hoge
|-- dir1
| |-- dir2
| |-- dir3
| `-- dir4
`-- dir2 -> dir1/dir2/

dir2にcdし、「cd ../」まで打ってからTAB押すと、dir2〜dir4が候補表示され、
実際に「cd ..」するとhoge下にcdします。
ここで、補完をdir2〜dir4じゃなくて、hoge下のdir1〜dir2となるような方法はないですか?
ちなみにbashだとその仕様みたいです。



935 名前:名無しさん@お腹いっぱい。 [2012/03/21(水) 23:38:28.15 ]
setopt chaselinks ?




936 名前:934 mailto:sage [2012/03/23(金) 00:19:46.27 ]
>>935
それだと「cd dir2」でdir1/dir2に移動するだけなんで、やりたいことと違います。

937 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 04:19:32.53 ]
こんな方向でどか

_directorys_symlink () { local pre="${PREFIX%/*}/"; local -a tmp; tmp=($(cd "$pre" && echo *)); compadd -f -p "$pre" -W "$(cd "$pre" && pwd -P)/" "$@" -a tmp }
_cd_symlink () { local expl; _wanted directorys-symlink expl 'directory when retain symbolic links' _directorys_symlink }
_cd_wrapped () { local pre="./${PREFIX%/*}" ret=1; [[ "$(cd "$pre" 2>/dev/null && pwd -P)" != "$(cd -P "$pre" 2>/dev/null && pwd)" ]] && _cd_symlink && ret=0; _cd && ret=0; return ret }
compdef _cd_wrapped cd

色々足らんけど

938 名前:934 mailto:sage [2012/03/24(土) 18:36:46.18 ]
>>937
非常に申し訳ないですけど、さすがにそれは使う気がしないですw
でも、ありがとうございます。

939 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 22:21:42.30 ]
それは残念。でもないか。
よく知らないけど、多分 cd の補完処理を直さないと無理じゃないかな。
ワーキングディレクトリのシンボリックリンクを残して path を辿るのは
cd の特殊な仕様みたいだけど、
cd の補完がそれを考慮せず通常の path 補完をしているようだ。
なんで _cd を直すか cd の compdef を対応版に変える必要がある
…ように見える。

940 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/24(土) 22:27:23.24 ]
関係ないけど compadd の -P と -p の違いがよくわからない。
なんか前調べた気もするけどなんだったかな…

941 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/27(火) 22:42:55.78 ]
今日rsyncを使ってて妙なことに遭遇したのですが、zshスクリプトにおいて
ディレクトリのコピーを以下のようにしていたところ、たまにrsyncのコピーが
正しくなされないことが分かりました。

while :;do
rsync -av dir.org/ dir
〜dir内のファイルを書き換える処理〜
done

rsyncの直前で dir.org と dir の中身を見ると確かに更新されているのですが、
rsyncはそれらのコピーをスルーしていました。今のところ以下が分かっています。

@上記現象は再現性が一定でない(正常コピーできるときもある)
Arsyncの直前でsleep 1を入れると何故か正常にコピー
Bbashだと無問題

zshの問題とも限らない気がしますが、このスレの方々は経験豊富だと思うのでお尋ねします。
何かアドバイスあればお願いします。

942 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/30(金) 11:06:21.55 ]
           , -'"´  ̄`丶、_
           ,.∩         `ヽ
         〃∪'´ ̄`二二人\  ヽ
         | ツ´ ̄ ̄ ̄ ̄´ ヾ ヽ. ',
         |ハ ,ニ、   ,. - 、 | | | l |
         | ハ ィハ     ,二ヽ. | | | | | 同じ板にコピペするとそのままだけど、
         | | | じ'   |トJ〉  /)} l | 違う板にコピペすると鬼のような怖い顔
         | ハ  、'_,   ̄,, 厶イ川| に変わる摩訶不思議な佳子様コピペ。
         l l /\    .. イV\川 |
         ,' l l ,イ `l ̄´ /   /ヽl l
         l | l ハ  `メ、    〃  ヽヽ、__ノ


943 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/31(土) 00:58:41.59 ]
dir内の〜 がなにかによるんじゃないの。
つーか dir が dest なんだよね。それだとコピーしない気がするけど、するんだね。
rsync はよーしらんから勘違いしてるかな。

944 名前:941 mailto:sage [2012/03/31(土) 21:41:34.17 ]
すいません、自己解決しました。以下、zshとは関係ない話で恐縮ですがいちおう報告します。

rsyncはタイムスタンプを見てコピーするか否か判断しますが、>>941のファイル書き換え処理が
一瞬で終わるためにタイムスタンプが変化しないのが原因でした。
実際、ls -l --full-timeで見ると↓のように秒以降が全部0になっています。

-rw-r--r-- 1 hoge users 326 2012-03-31 21:24:24.000000000 +0900 file

ちなにみ環境はCentOS6.2です。おそらく、秒以降のタイムスタンプも記録するシステムならば
今回の問題は起こらないはずだと思います。あと、>>941で言った@とAも勘違いでした。
この現象がランダムに出たために、誤って解釈してしまいました。失礼いたしました。



945 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/27(金) 23:45:48.02 ]
ls とかのソートって unsetopt numeric_glob_sort の場合は以下の順ですよね?

特殊文字( _ を除く)
数字
大文字
_
小文字

実は、あるホストへ自宅からログインすると上記の通りなのが、
職場からログインすると「 _ 」の存在が無視されたようにソートされます。
たとえば、A _b C というファイルがA C _b の順でソートされます。

こんなことってあるんですかね?全く同じホストにログインしてるのだから、
もう残る違いはログイン元の端末環境ぐらいしか・・・

946 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/27(金) 23:58:15.17 ]
>>945
> 大文字
> _
> 小文字

> たとえば、A _b C というファイルがA C _b の順でソートされます。

大文字 大文字 _ の順になってる ってのは正常な動作じゃないのか?

947 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 00:11:03.30 ]
>>946
すいません、間違えました。以下の意味に訂正します。

「辞書順で A C _B となるのが、A _B C となってしまう」

948 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 00:34:14.98 ]
LC_COLLATEの値は?

949 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 14:06:53.07 ]
>>948
自宅からの接続ですが、空でした。
こうなったら、自宅からと職場からとで環境変数が同じかどうか調べるしかないですね。

ところで「 _ 」って特殊文字には入らないんですかね?

950 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 17:38:50.08 ]
LC_COLLATEをみるなら
それより優先されるLC_ALLと
最後の砦のLANGも見ないと…


951 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:22:15.90 ]
>>949
ていうか ascii 順でしょ。

952 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:32:43.75 ]
$ LC_COLLATE=en_US.UTF-8 ls
a _a b _b

$ LC_COLLATE=C ls
_a _b a b

953 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 21:59:07.34 ]
てか、「lsとかのソート」の時点でzshもsetoptも関係なくね?

954 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 22:08:06.56 ]
そうは思ったがきっとglobの展開のことだと汲み取ってあげたい。




955 名前:名無しさん@お腹いっぱい。 [2012/04/28(土) 22:10:50.41 ]
lsは表示するファイルを自力でソートしているのでlsの問題。
(directory entryの出現順のままソートせずに表示するオプションがある)
glob展開の結果の順序はシェルの問題。

956 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/28(土) 22:15:19.85 ]
$ LC_COLLATE=en_US.UTF-8 zsh -c 'echo *'
a _a b _b
$ LC_COLLATE=C zsh -c 'echo *'
_a _b a b

957 名前:名無しさん@お腹いっぱい。 [2012/04/30(月) 00:17:44.41 ]
最近はzshあんま更新されてないし、bashのがいいってまじ?

958 名前:名無しさん@お腹いっぱい。 [2012/04/30(月) 07:45:44.90 ]
そろそろ5を出そうかというタイミングで何言ってるんだ?


959 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/04(金) 23:55:38.50 ]
>>952
>>956
両方 _a _b a b になるじゃねーか。試しちまった。

960 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 11:39:09.60 ]
>>959
え? お前の環境変だろ。LC_ALL設定してしまってるとか。

961 名前:名無しさん@お腹いっぱい。 [2012/05/05(土) 12:00:08.94 ]
en_US ロカールが定義されているか、未定義かで変わる?


962 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 12:10:33.40 ]
各地域ロケールの内容ってどこかで決まってたりするの? 環境依存だと思ってた。

963 名前:名無しさん@お腹いっぱい。 [2012/05/05(土) 12:12:56.73 ]
>>959 ではないけどやってみた。OSX Lion。

普段の環境は LC_ALL 未定義、LC_MESSAGES=C、LC_TIME=C、他のLC_xxxは未定義、LANG=ja_JP.UTF-8

$ LC_COLLATE=en_US.UTF-8 zsh -c 'echo ZSH_VERSION=$ZSH_VERSION LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE; echo *'
ZSH_VERSION=4.3.11 LC_ALL= LC_COLLATE=en_US.UTF-8
_a _b a b

$ LC_COLLATE=C zsh -c 'echo ZSH_VERSION=$ZSH_VERSION LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE; echo *'
ZSH_VERSION=4.3.11 LC_ALL= LC_COLLATE=C
_a _b a b



964 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 12:21:42.24 ]
多分、en_US localeをインストールしてない環境ってオチ。それならLC_COLLATE=C と同じになって当然。



965 名前:963 [2012/05/05(土) 13:42:40.15 ]
うちのzshはここ見てないのかねぇ。

$ ls -l /usr/share/locale/en_US.UTF-8/LC_COLLATE
lrwxr-xr-x 1 root wheel 28 2011-08-02 23:22 /usr/share//locale/en_US.UTF-8/LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE
$ ls -l /usr/share/locale/la_LN.US-ASCII/LC_COLLATE
-r--r--r-- 1 root wheel 2086 2011-08-02 23:22 /usr/share/locale/la_LN.US-ASCII/LC_COLLATE
LNってどこだよw


966 名前:963 [2012/05/05(土) 13:52:07.08 ]
$ strings =zsh | grep strcoll

少なくとも strcoll は呼んでないわー。 libiconvとかはリンクしてるけど。




967 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/05(土) 22:53:05.58 ]
>>960
片方 a _a b _b になるじゃねーか。LC_ALL設定失念しちまった。
なにこれ _a を 1文字として扱ってるの?

>>966
% echo $ZSH_VERSION
4.3.17
% strings =zsh | grep strcoll
strcoll

968 名前:名無しさん@お腹いっぱい。 [2012/05/06(日) 04:10:16.92 ]
>>967

configure 次第か。


969 名前:名無しさん@お腹いっぱい。 [2012/05/13(日) 00:17:40.31 ]
以下のように拡張子の前の数字を取り除きたいのですが、zmvでどのように実行をすれば良いでしょうか?
  hoge1.mp3 → hoge.mp3 #数字を取り除く
  hoge1hoge.mp3 → hoge1hoge.mp3 #そのまま
試行錯誤したのですが、うまく行きません。

以下のように実行すると、"hoge1.mp3"と"hoge1hoge.mp3"を"hoge.mp3"に変換しようとして失敗します。
zmv -n '([a-z]*)[0-9]*.mp3' '$1.mp3'

以下のように実行すると".mp3"に変換しようとして失敗します。
zmv -n '^([a-z]*)[0-9]*.mp3$' '$1.mp3'

970 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 00:22:52.56 ]
>>>969
basename使うわけにはいかないの?

971 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 02:07:28.60 ]
いつも for で zmv 使ってないから知らんけど '(*)<->.mp3' じゃないか?
多分それ re じゃないよ。

972 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 10:25:40.61 ]
それだと

(hoge12)3.mp3

になるぜ

973 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 12:02:16.55 ]
自分も普段は for 文を使っちゃうけど
zmv '(*)[0-9]##.mp3' '$1.mp3'
とかでいいのかな。まあ便利なのかもw

974 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 12:06:46.39 ]
ああ>>972と同じになってしまうのか
zmv '(*).mp3' '${1%%[0-9]##}.mp3'
かな?



975 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 15:41:51.71 ]
おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3'

976 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 16:34:24.13 ]
そうか shortest match flag とかはないんだな。

うーん *(#c,)<-> で落ちる。こんなパターン使わないけど。

977 名前:969 mailto:sage [2012/05/13(日) 17:35:45.22 ]
ありがとうございます。

>zmv '(*).mp3' '${1%%[0-9]##}.mp3'
でうまく行きました。
これは$1のうちの%%と##で挟まれた正規表現を取り除くという書式なのでしょうか?

>おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3'
<-->はどういう処理ですか? こちらは使いかたがよく分かりませんでした。

すみません。zmvのパラメータについて解説しているサイトはありませんか? zmvの書式が難しくて。

978 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 18:03:15.98 ]
man zshcontrib

979 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 19:04:25.29 ]
>>978
ありがとうございます。
man zmvで見つからない、とか思っていたので。

980 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/13(日) 21:42:08.02 ]
>>977
man zshexpn すれば詳しいことが載っているが ${name%%pattern} と x## の組み合わせだよ
前者はシェルスクリプト一般でよく使われる
<-> は <[x]-[y]> の特殊例で数字にマッチする

981 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/15(火) 01:08:56.08 ]
>>980
ありがとうございます。
ようやく理解できました。

982 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/15(火) 19:43:39.12 ]
man zshall しかうたないな

983 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 01:24:52.01 ]
>>982
俺もman zshall派
でもそうすると目当てのものみつけにくいんだよなw

984 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 01:34:37.45 ]
使うのは zshall でも人に示すときは絞る
昔から言われてるけど zsh 関係のドキュメントは読み物としては面白くないな



985 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/16(水) 23:36:44.49 ]
言われてた気もするけど今思うに特別そうでもない

986 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/05/17(木) 12:33:01.23 ]
うん。






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

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

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