zsh その6at UNIX
zsh その6 - 暇つぶし2ch650:641
10/09/03 12:08:57
なんか変な流れになってるが俺のせいなのか・・・
>>641は新・旧という意識でdiffしたわけじゃなかったのでこうしただけだが。
別にいいじゃないすかパッチ作るわけじゃないし(駄目?

ググったら極わずかだけど同じこと言ってる人いた。だいぶ前だが

651:名無しさん@お腹いっぱい。
10/09/03 13:36:07
>>649
その通り。
無能な働き者はあらかじめ粛清しておくに限る。

652:名無しさん@お腹いっぱい。
10/09/03 13:41:23
>>650
駄目ではないけど、普通ではない。

653:名無しさん@お腹いっぱい。
10/09/03 14:33:30
>>648
ln の仕様は確かに糞だな

654:名無しさん@お腹いっぱい。
10/09/03 14:56:41
それはlsとかで 古い -> 新しい みたいな表示をするせいだろ。

655:名無しさん@お腹いっぱい。
10/09/03 15:22:53
lnの順序はcpやmvと同じ。


656:名無しさん@お腹いっぱい。
10/09/04 22:56:55
関数のexportってexport -fですよね?以下が駄目なのは何故ですか?

$ zsh --version
zsh 4.3.10 (x86_64-redhat-linux-gnu)
$ a () {
echo "calling a"
}
$ export -f a
a () {
echo "calling a"
}
$ a
calling a
$ zsh
$ a
zsh: command not found: a

657:名無しさん@お腹いっぱい。
10/09/05 07:13:06
>>656
> 関数のexportってexport -fですよね?
は?

658:656
10/09/05 21:03:37
>関数のexportってexport -fですよね?
bashだとそうですが、zshだと違うみたいですね
というか単に出力するだけ?

659:名無しさん@お腹いっぱい。
10/09/17 17:59:14
Windows7上のCygwin on rxvt SJIS環境 zsh 4.3.9で
printf()による出力がある自作CUIプログラムを実行すると
出力の末尾に%記号が反転されて表示されるのですが、原因としては何が考えられるでしょうか?

同様にbashでもプログラムを実行しましたがこちらでは問題ありませんでした
通常のCygwin上で実行したzshだとコマンドラインを空の状態で
Enterキーを押しても反転された%が表示されます
コマンドを実行した際は末尾に表示されます

プログラムは以下でgccとVSのclコマンドでコンパイルして試しました
---------------
#include <stdio.h>
int main(void) {
printf("hoge");
}
---------------
出力
$ gcc -o main.exe main.c
$ ./main.exe
hoge%
---------------
.zshrcの設定
export TERM=vt100
export TERM=xterm
export LANG=ja_JP.SJIS
export LESSCHARSET=japanese-sjis


660:名無しさん@お腹いっぱい。
10/09/17 18:38:37
>>659
printf()の文字列に改行を入れてないのが間違い。
bashではたまたま設定で頭に改行コードが付いたプロンプトを使っていたので
うまくいってるように見えただけ。
zshでは、設定で反転文字の%のプロンプトが設定されていたというだけ。

で、zshの話題とは全然関係ない。

661:名無しさん@お腹いっぱい。
10/09/17 18:41:24
>>660
どうどうと、嘘つくな

662:659
10/09/17 18:56:35
PROMPT変数にWindowsが$P$Gを入れてたので
prompt elite2 greenなどでプロンプトを設定していましたが
PROMPT=''で表示を変えても%が表示されるのは確認しました
Windows標準のコマンドプロンプト上でzshを起動しても同様です

663:名無しさん@お腹いっぱい。
10/09/17 19:06:53
だから printf()に改行コードを入れろよ。それですべて解決。

664:名無しさん@お腹いっぱい。
10/09/17 19:10:06
zshもCも関係なくUNIXのお約束として特別な事情がないかぎり入出力とかファイルの末尾は改行じゃなきゃいけないの
本来末尾にあるべき改行がねえぞって注意してくれてんの

% echo "hoge"
hoge
% echo -n "hoge"
hoge%
% echo -n "hoge\n"
hoge

665:名無しさん@お腹いっぱい。
10/09/17 19:59:09
>>664
偉そうに、デタラメ言うな

666:659
10/09/17 23:00:07
>>664
お約束事でしたか。詳しく書いてくださってありがとうございます。
CUIプログラムに改行を付け加えたら無事に動作しました。

667:名無しさん@お腹いっぱい。
10/09/17 23:20:39
>>661 = >>665 の立場がなくなったなww

668:名無しさん@お腹いっぱい。
10/09/18 08:51:36
cddってtmuxでも動くのか

669:名無しさん@お腹いっぱい。
10/10/08 15:12:52
historyって宝ですよねー
何度か消えてしまって泣いたことがある
setopt share_historyしてるからかな

670:名無しさん@お腹いっぱい。
10/10/15 12:25:21
みんなHISTSIZE はどのくらいにしてるのかな?
自分は↓
% echo $HISTSIZE
10000

671:名無しさん@お腹いっぱい。
10/10/15 13:15:10
$ echo $HISTSIZE
10000000

672:名無しさん@お腹いっぱい。
10/10/15 15:06:42
俺も HISTSIZE=10000 だった

ついでに、何故か LISTMAX=10000000000 とかしてた
あまり考えずに大きい値にしたから 32ビット超えてるけど動いてるからいいか

673:名無しさん@お腹いっぱい。
10/10/15 19:58:14
>>671
すげえなw
でもある意味プライバシーの塊だな

674:名無しさん@お腹いっぱい。
10/10/15 20:57:00
>>669
ディスクが100%になって端末がおかしくなってログアウトしたら
historyの書き込み失敗したのかhistoryファイル自体があぼーんしたわ
それ以来historyもバックアップとるようになった

675:名無しさん@お腹いっぱい。
10/10/16 00:14:59
>>673
今見たら.zsh_historyが1.2MBもあったw

676:名無しさん@お腹いっぱい。
10/10/16 18:07:21
昔はwgetとかでエロ画像をシコシコ落としてたらしいし、historyは絶対人に見せられないだろうな

677:名無しさん@お腹いっぱい。
10/10/16 18:44:41
俺は今でもエロ画像落とすのにwget使ってるというのに…
まあ滅多にないけどさ

678:名無しさん@お腹いっぱい。
10/10/16 19:13:37
ファイル名が連番のエロ画像はcurlで落とす

679:名無しさん@お腹いっぱい。
10/10/17 00:27:21
>678
敢えて zsh スレでそんなこと書くって釣り宣言?

680:名無しさん@お腹いっぱい。
10/10/17 18:25:06
つかcurlなんてあったんだ

681:名無しさん@お腹いっぱい。
10/10/17 18:33:20
えっ

682:名無しさん@お腹いっぱい。
10/10/30 19:43:55
cygwinのzshでHISTFILE=$HOME/.zsh-history と設定してヒストリーを使おうとすると、
zsh: failed to create hard link as lock file .zsh-history.LOCK: permission denied
とエラーが出るのですが、回避方法はないでしょうか?
よろしくお願いします。

683:名無しさん@お腹いっぱい。
10/10/31 11:19:35
極限のシェルzsh
これを極めし者は時空をも超える

684:名無しさん@お腹いっぱい。
10/11/03 10:49:01
>>682
そんぐらいググってくれ
ntfsにすれば解決

685:名無しさん@お腹いっぱい。
10/11/07 07:59:12
うんこー!
しょんべー!

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

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

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

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

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

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

692:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/11/18 19:50:47
試したけど待たされなかったよ。なんか他に条件があるのかも。

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

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


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

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

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

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


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

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

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

703:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/12/23 03:41:15
スレチだね

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

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

706:名無しさん@お腹いっぱい。
10/12/23 08:20:45
sedでええやん


707:名無しさん@お腹いっぱい。
10/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:名無しさん@お腹いっぱい。
10/12/31 00:47:09
>>695
うちもそれ偶にみると大量(でもないか)にできてて、
rm .zsh_history.* とかしてたんだけど、
今みるとないな。前消してからけっこうたった気がするけど。

709:名無しさん@お腹いっぱい。
11/01/01 23:31:40
ネットが瞬断して端末が切れたとかはないの?

710:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/01/08 21:48:53
>>703
% sed '1,/piyo/d' hoge.txt
で簡単にできるはず。

712:名無しさん@お腹いっぱい。
11/01/09 01:27:28
すでに>>707にあるがな

713:名無しさん@お腹いっぱい。
11/01/09 04:00:39
zsh睾丸

714:名無しさん@お腹いっぱい。
11/01/14 00:17:01
>>710
prompt は使ってないけど…
期待値は?
prompt_special_chars は変わってない?

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

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

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

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

↓と似たような感じに見えるけど…
URLリンク(www.linuxaria.com)

717:710
11/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:名無しさん@お腹いっぱい。
11/01/22 23:57:26
解決 ?

719:名無しさん@お腹いっぱい。
11/01/23 21:50:20
zshマスターは時空を超える

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

721:名無しさん@お腹いっぱい。
11/01/28 18:01:18
cvs updateできないの俺だけ?
Fatal error, aborting.
anoncvs_zsh: no such system user

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

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

723:名無しさん@お腹いっぱい。
11/01/31 00:57:02
?つまり?

724:名無しさん@お腹いっぱい。
11/02/12 18:27:10
ho

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

726:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/04/16 09:02:53.75
>>726
そんな補完したところでlsは失敗するだけなので意味がないのでは?

729:名無しさん@お腹いっぱい。
11/04/16 09:50:13.12
そもそも >727 がなにが言いたいのかわからん

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

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

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

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

733:名無しさん@お腹いっぱい。
11/05/14 16:48:39.90
内蔵コマンドのniceが欲しい

734:名無しさん@お腹いっぱい。
11/05/14 21:01:39.43
なぜ?

735:名無しさん@お腹いっぱい。
11/05/14 23:16:30.10
そっちの方がniceだから

736:名無しさん@お腹いっぱい。
11/05/16 12:00:38.09
そういうコマンドはないスね。

737:名無しさん@お腹いっぱい。
11/05/16 19:33:27.50
ナイスな切り返し!

738:名無しさん@お腹いっぱい。
11/05/17 01:48:06.20
ナイスな椅子

739:名無しさん@お腹いっぱい。
11/05/17 20:54:54.76
コッシーか

740:名無しさん@お腹いっぱい。
11/05/24 04:21:47.89
電動オナホールをzshで制御

741:名無しさん@お腹いっぱい。
11/05/25 00:17:08.52
俺は童貞だ!

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

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

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

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

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

746:名無しさん@お腹いっぱい。
11/05/28 13:16:40.66
>>745
HISTSIZEもっとでかくしようぜ?

747:名無しさん@お腹いっぱい。
11/05/28 19:43:09.37
% echo $SAVEHIST
0

% echo $HISTSIZE
100000

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

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

749:名無しさん@お腹いっぱい。
11/06/14 07:27:59.44
4.3.12

750:名無しさん@お腹いっぱい。
11/06/15 21:10:11.82
zshで時空を超えた奴はいないか?

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

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

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

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

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

755:753
11/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:名無しさん@お腹いっぱい。
11/07/20 23:31:23.84
よく起きるなら history-search-end の先頭で setopt xtrace してみれば何かわかるかもね

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

758:名無しさん@お腹いっぱい。
11/08/06 15:51:31.14
え?

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

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

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

762:名無しさん@お腹いっぱい。
11/08/10 21:32:22.84
/** ここはコメントです **/

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

764:757
11/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:名無しさん@お腹いっぱい。
11/08/26 03:48:57.64
#!/bin/zsh

766:名無しさん@お腹いっぱい。
11/08/30 04:55:18.98
zshの本っていうの買ってきた。
まだ読んでない。

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

768:名無しさん@お腹いっぱい。
11/09/20 04:23:59.57
*(-@)かな?

769:名無しさん@お腹いっぱい。
11/09/20 10:31:57.15
ウナー *(-@-)*

770:名無しさん@お腹いっぱい。
11/09/25 14:52:34.21
URLリンク(www.clear-code.com)

771:名無しさん@お腹いっぱい。
11/09/25 15:18:54.59
>770
+1

772:名無しさん@お腹いっぱい。
11/09/30 04:20:36.81
最近、zshに入門した者なんですが Mac10.6の環境で

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

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

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

773:名無しさん@お腹いっぱい。
11/09/30 06:05:16.72
zshmisc(1)に書いてある。

774:名無しさん@お腹いっぱい。
11/09/30 09:58:43.77
キターーーーー!!
ハッカーさんありがとうww

775:名無しさん@お腹いっぱい。
11/10/02 21:41:07.32
zshってbashのスクリプト使える?

776:名無しさん@お腹いっぱい。
11/10/03 00:05:32.72
tukaeru

777:名無しさん@お腹いっぱい。
11/10/03 09:18:40.25
ある程度は。


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

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

local a
a=("hoge")

ってやるしかないの?

780:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/10/11 00:08:27.49
>>780
ありがとう。そういう事なら仕方ないね。

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

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

784:名無しさん@お腹いっぱい。
11/10/14 13:06:26.35
多分 compdef adx=chmod とかいう話なんでは

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


786:名無しさん@お腹いっぱい。
11/10/15 19:39:23.41
bindkey -e なら Alt-B?

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


788:名無しさん@お腹いっぱい。
11/10/18 02:25:40.80
これってreadlineの機能?


789:名無しさん@お腹いっぱい。
11/10/18 02:37:36.81
readline使ってないよ
独自実装

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

791:名無しさん@お腹いっぱい。
11/10/21 00:42:05.88
bindkeyでした

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

793:名無しさん@お腹いっぱい。
11/11/05 23:07:47.87
>>792
この本がお勧めです。
Introduction of the ZSH
URLリンク(www.gentei.org)

794:名無しさん@お腹いっぱい。
11/11/06 08:15:47.33
man zshall

795:名無しさん@お腹いっぱい。
11/11/06 10:18:22.94
迷宮の入り口晒すな

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

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


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

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

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

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

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


801:名無しさん@お腹いっぱい。
11/11/20 08:59:19.42
>>799
そこでvimshellですよ!

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


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

804:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/11/27 20:21:18.83
うちでは Ctrl-P/Nには up/down-line-or-history が割り当てられているな。


806:名無しさん@お腹いっぱい。
11/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:名無しさん@お腹いっぱい。
11/11/28 17:42:34.33
URLリンク(en.wikipedia.org)

これ?

808:名無しさん@お腹いっぱい。
11/11/28 18:17:54.45
${HOST%%.*}

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

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

809:名無しさん@お腹いっぱい。
11/11/28 20:37:32.06
>>808

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

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

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


810:名無しさん@お腹いっぱい。
11/11/28 22:42:29.40
>>805
>>809
どうも

811:名無しさん@お腹いっぱい。
11/12/08 23:47:37.72
4.3.14

812:アンネ
11/12/09 23:59:43.22
やぁ(笑)

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

教えてください。

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

815:名無しさん@お腹いっぱい。
11/12/11 21:25:31.79
>>814
ありがとうございます!

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

817:名無しさん@お腹いっぱい。
11/12/27 00:36:11.96
>>816
C-eってやってる。

818:名無しさん@お腹いっぱい。
11/12/27 06:48:36.41
Type RET to exit, leaving point at location found.

819:816
11/12/28 01:19:08.43
>>817
C-eって行末移動ですよね?行末じゃなくてその場に留まりたいんですが

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

820:名無しさん@お腹いっぱい。
11/12/28 08:10:40.33
すまんEmacsの話だと思ってた

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

822:816
11/12/29 11:16:03.68
>>821
ほんとですね。でも3連打はまんどいな・・・

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

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

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

826:名無しさん@お腹いっぱい。
11/12/29 20:20:44.81
^[^|
@

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

828:名無しさん@お腹いっぱい。
12/01/14 12:10:30.76
global aliasでどうか?


829:名無しさん@お腹いっぱい。
12/01/14 16:53:03.33
alias sudo='sudo '
がよくある解

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

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

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

>>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:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/01/24 00:28:21.85
ちゃんと効くけど?
str=(A${num}B)

836:名無しさん@お腹いっぱい。
12/01/24 00:29:28.68
おっと ^ を入れ忘れた。 ${^num}ね。

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

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

839:名無しさん@お腹いっぱい。
12/01/31 14:32:40.13
>>838
unsetopt multios

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

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

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

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

844:名無しさん@お腹いっぱい。
12/02/01 08:11:02.94
teeを使いたくなかった奴が作ったのにそりゃないな

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

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

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

848:名無しさん@お腹いっぱい。
12/02/01 10:11:56.10
そんなこといったら zsh v0.0.1 とかから何も進歩できないじゃん

849:名無しさん@お腹いっぱい。
12/02/01 10:25:05.49
>>845
作者にそう言えばいいじゃない。

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

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

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

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

853:名無しさん@お腹いっぱい。
12/02/01 12:08:24.98
>>840
ウダウダ書かずに最初からそう書けよ


854:名無しさん@お腹いっぱい。
12/02/01 13:57:53.03
まぁすぐ書いたからいいじゃん。

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

856:名無しさん@お腹いっぱい。
12/02/01 14:42:13.97
>>838>>839>>840だから連投ってほどのこともしてないじゃん。

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

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

859:名無しさん@お腹いっぱい。
12/02/01 15:20:42.30
>>858
そう、>>853の意図としては>>840に対してのみの指摘。

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


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

861:名無しさん@お腹いっぱい。
12/02/01 16:10:04.40
2chとは思えないまともすぎる書き込み…

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

863:855=857
12/02/01 17:32:02.57
>>860
了解しました。

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

865:zsh初心者 ◆./pq9ARSgM
12/02/03 01:55:36.82
できたっぽ(´・ω・`)ノみんなよろしくな

866:名無しさん@お腹いっぱい。
12/02/03 02:15:05.15
なんの必要があって…?

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

868:名無しさん@お腹いっぱい。
12/02/04 16:55:57.40
・マシン毎にzsh_historyを使い分けたい
・異なるマシンのzsh_historyを参照したい

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

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

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

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


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

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

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

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

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



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

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

878:名無しさん@お腹いっぱい。
12/02/05 13:05:09.41
>>875
サンクス。読み込み順は↓
URLリンク(cocelo.s201.xrea.com)

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

879:872
12/02/05 15:12:20.38
>>875
>>878
うまくいきました
ありがとうございます

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

881:名無しさん@お腹いっぱい。
12/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
12/02/05 19:38:57.92
stdoutじゃなくてstderrだと出る・・・
echoって標準エラー出力に出す仕様だっけ??

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

883:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/02/05 20:37:13.09
うーん、こんな危険なmultios状態をデフォにするべきじゃないねw

885:名無しさん@お腹いっぱい。
12/02/05 21:42:57.78
ん?

echo hoge >file1 >file2 >/dev/stdin

じゃないのか

886:名無しさん@お腹いっぱい。
12/02/05 21:46:28.52
>>885
stdinじゃないよ。

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

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

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

889:名無しさん@お腹いっぱい。
12/02/06 00:06:28.69
ないよ

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


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

892:zsh初心者 ◆./pq9ARSgM
12/02/06 00:27:31.43
>>889-890
そ、そうなんだ(´・ω・`)

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

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

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

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

897:名無しさん@お腹いっぱい。
12/02/06 09:56:43.30
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。
> 今のbashはzshの持っている機能を100%持ってる。



898:名無しさん@お腹いっぱい。
12/02/06 12:00:37.83
>>897
言いたいことがあるなら具体的に。

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

900:名無しさん@お腹いっぱい。
12/02/06 20:57:22.55
bashでzleとかいじれる?

901:名無しさん@お腹いっぱい。
12/02/06 21:11:50.27
>>898 100% 知っているとは思えないってことじゃないかな。

902:名無しさん@お腹いっぱい。
12/02/06 21:29:09.15
>>901
だったらそれを自分で言うべき。

903:名無しさん@お腹いっぱい。
12/02/06 21:54:16.33
矛先が非建設的な方向に向いております

904:名無しさん@お腹いっぱい。
12/02/06 23:27:59.71
bash にしかない機能って何?いいのある?
よさそうなら使いたい。

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

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

907:zsh初心者 ◆./pq9ARSgM
12/02/07 00:24:29.43
けんかはやめて(´・ω・`)

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

909:名無しさん@お腹いっぱい。
12/02/07 02:12:44.28
だとして >>893 は要らんけどな。

910:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/02/28 22:50:26.88
2012-02-23 : Release 4.3.17
Complete fixes from last release.

912:名無しさん@お腹いっぱい。
12/03/02 23:20:33.32
2行目ってどう訳すん?

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

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

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

916:名無しさん@お腹いっぱい。
12/03/03 09:48:41.16
いや、completeは形容詞として訳して欲しい。全体で箇条書風の名詞句。

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

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

URLリンク(zsh.sourceforge.net)
> 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:名無しさん@お腹いっぱい。
12/03/03 10:50:18.07
4.3.16で直し方が半端だったバグがあって、それを完全に修正したってこと?


920:名無しさん@お腹いっぱい。
12/03/03 13:41:34.71
はい

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

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

922:名無しさん@お腹いっぱい。
12/03/03 16:44:15.83
デフォルトでも十分に便利だと思うが。。。

923:名無しさん@お腹いっぱい。
12/03/03 17:14:39.37
oh-my-zshでも使ったら。

924:名無しさん@お腹いっぱい。
12/03/03 20:49:21.06
更に面倒だよ...

925:名無しさん@お腹いっぱい。
12/03/04 01:23:46.40
大丈夫か。辛いなら fish とか使ったら。今どうなってんのか知らんけど。

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

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

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

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


928:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/03/17 21:17:22.57
どうじゃろ?

930:名無しさん@お腹いっぱい。
12/03/17 22:20:52.25
root の設定が悪いとか

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

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

> Remove ~/.zcompdump and restart zsh.

933:928
12/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:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/03/21 23:38:28.15
setopt chaselinks ?




936:934
12/03/23 00:19:46.27
>>935
それだと「cd dir2」でdir1/dir2に移動するだけなんで、やりたいことと違います。

937:名無しさん@お腹いっぱい。
12/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
12/03/24 18:36:46.18
>>937
非常に申し訳ないですけど、さすがにそれは使う気がしないですw
でも、ありがとうございます。

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

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

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

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

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

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

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

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


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

944:941
12/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で言った①と②も勘違いでした。
この現象がランダムに出たために、誤って解釈してしまいました。失礼いたしました。

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

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

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

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

946:名無しさん@お腹いっぱい。
12/04/27 23:58:15.17
>>945
> 大文字
> _
> 小文字

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

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

947:名無しさん@お腹いっぱい。
12/04/28 00:11:03.30
>>946
すいません、間違えました。以下の意味に訂正します。

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

948:名無しさん@お腹いっぱい。
12/04/28 00:34:14.98
LC_COLLATEの値は?

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

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

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


951:名無しさん@お腹いっぱい。
12/04/28 21:22:15.90
>>949
ていうか ascii 順でしょ。

952:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/04/28 21:59:07.34
てか、「lsとかのソート」の時点でzshもsetoptも関係なくね?

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


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

956:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/04/30 00:17:44.41
最近はzshあんま更新されてないし、bashのがいいってまじ?

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


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

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

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


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

963:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/05/05 12:21:42.24
多分、en_US localeをインストールしてない環境ってオチ。それならLC_COLLATE=C と同じになって当然。

965:963
12/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
12/05/05 13:52:07.08
$ strings =zsh | grep strcoll

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




967:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/05/06 04:10:16.92
>>967

configure 次第か。


969:名無しさん@お腹いっぱい。
12/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:名無しさん@お腹いっぱい。
12/05/13 00:22:52.56
>>>969
basename使うわけにはいかないの?

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

972:名無しさん@お腹いっぱい。
12/05/13 10:25:40.61
それだと

(hoge12)3.mp3

になるぜ

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

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

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

976:名無しさん@お腹いっぱい。
12/05/13 16:34:24.13
そうか shortest match flag とかはないんだな。

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

977:969
12/05/13 17:35:45.22
ありがとうございます。

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

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

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

978:名無しさん@お腹いっぱい。
12/05/13 18:03:15.98
man zshcontrib

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

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

981:名無しさん@お腹いっぱい。
12/05/15 01:08:56.08
>>980
ありがとうございます。
ようやく理解できました。

982:名無しさん@お腹いっぱい。
12/05/15 19:43:39.12
man zshall しかうたないな

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

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

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

986:名無しさん@お腹いっぱい。
12/05/17 12:33:01.23
うん。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch