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


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

zsh その4



1 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/02 20:03:26 ]
zshのスレその4です。

過去スレ
zsh入門
pc.2ch.net/test/read.cgi/unix/990283346/
zsh入門 パート2
pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh その3
pc5.2ch.net/test/read.cgi/unix/1080002786/

>>2-3リンク

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 16:43:18 ]
使い方を間違ってるのか stty -a だと以下の項目しかでませんでした…。
intr, quit, erase, kill, eof, eol, eol2, swtch, start, stop, susp, rprnt, werase, lnext, flush

backward-kill-lineなど他の項目はどう見つければいいんでしょうか

583 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 17:04:08 ]
>>581 は「知ったか」に1票。

zshの bindkeyの話なので、stty(低レベルの端末設定)とは関係ない。

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 17:09:19 ]
探してるのはこういうのか?
zsh.sourceforge.net/Doc/Release/zsh_29.html

これはちょっと古いけど、普通にインストールしてるなら
ローカルにも同じようなのがあるでそ。

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/29(金) 19:08:30 ]
>>583
ありがとです
>>584
そうです。ありがとうございます
コマンドラインスタックは push-line なんですね
ずっと buffer stack で探してました…。

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/30(土) 00:30:21 ]
>>585
Esc-q にbindされている関数の名前だけ分かればいいなら
bindkey |grep q
すりゃわかると思う。
一覧ではないから>>580の答えではないが。

>>581はC-qがsttyで割り当てられてるって話でそ。
C-s/C-qなんて今更使わんが。

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/30(土) 01:41:47 ]
stty で奪われてたら zsh で扱いたくても扱えないでそ

> C-s/C-qなんて今更使わんが。

「使わない」には同意だけど大抵設定はされてるでしょ

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/30(土) 11:53:03 ]
>>586
普通 M-x describe-key-briefly でそ?

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/05(金) 01:43:53 ]
HIST_SAVE_NO_DUPS と HIST_IGNORE_ALL_DUPS ってどう違うんですか?
zsh のマニュアルによると

HIST_SAVE_NO_DUPS
When writing out the history file, older commands that duplicate
newer ones are omitted.

HIST_IGNORE_ALL_DUPS
If a new command line being added to the history list duplicates
an older one, the older command is removed from the list (even
if it is not the previous event).

こういう違いがあるようなんですが、よくわかりません。


590 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/05(金) 04:50:28 ]
重複削除をどの時点で行うかが違う。

よくわかりませんで思考停止するんじゃなくてもうちょっと考えてみなよ。

・どこまでわかっていて、よくわからないのはどの部分なのか、
・わからないところはどのような可能性が考えられるか、
・それらの可能性が本当かを確かめるにはどうすればいいか、

を自分で考えるようにすればもう少し読解力が高まると思われ。



591 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/05(金) 07:16:54 ]
書き込みのあとそれぞれ設定して調べたところ、
前者はシェルを抜けた段階でヒストリファイルの重複を削除するのに対して
後者は即時にメモリ内?のヒストリ重複を削除してるっぽいことがわかりました。
いずれもシェルを抜けた段階でファイルの重複は消されるようなので
設定は片方だけでよさそうですが、
share_history などの設定もいろいろ影響してそうなので
それ以上はつきつめて調べてません。
590 さん、助言どうもありがとうございました。

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/05(金) 08:43:16 ]
手元の .zshrc だと

setopt hist_ignore_dups # 前後のダブりのみ消す
setopt hist_ignore_all_dups # ヒストリに追加されるコマンド行が古いものと同じなら古いものを削除

と両方書いてあるな。
説明はmanualのまんまだ。


593 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/05(金) 16:40:36 ]
wiki移転完了(たぶん)
ttp://wiki.fdiary.net/zsh/

XML-RPCでガーーーッと移動してちょこっといじっただけ。
変なとこあったら修正よろしく。


594 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/06(土) 18:38:01 ]
>>593
おつかれ、サンクス

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/18(木) 20:02:39 ]
同僚に薦められてzshに移行したばかりのものです。

いきなり質問で恐縮ですが、

コマンドラインで、第二引数だけをヒストリから補完とか可能でしょうか?
可能でしたら方法をお教えください。

具体的には、あるコマンドを(第二引数の)ファイルに実行した後で、
別のコマンドをそのファイルに実行したい時に、簡単な操作で
第二引数を呼び出したいのです。

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/18(木) 21:10:44 ]
M-. (insert-last-word) かな?

597 名前:595 mailto:sage [2007/01/18(木) 21:17:18 ]
>>596
おお、ありがとうございました。
できましたw

zshの強烈な補完に感動してます。

ありがとうございました。

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/23(火) 06:52:27 ]
predict-on, predict-off を同じキーに配置して
オンならオフ、オフならオンに変更するために predictの状態を知りたいんですが
どうやったら調べられるんでしょうか?

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/24(水) 04:17:04 ]
状態を示す変数でも作ればいいじゃないの

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/24(水) 05:38:07 ]
>>599
ああ、そうかなるほど。
助かりましたありがとうございます
アホなりになんとかできました



601 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/30(火) 04:58:45 ]
このスレもぼちぼち立ってから2年か。読み返しみると結構レス書いてるな。
実は少人数で廻してるのか。

602 名前:名無しさん@お腹いっぱい。 mailto:age [2007/02/06(火) 17:24:08 ]
for i in param1 param2 ...
do
いろんな仕事を param 毎に
done
ってやりますけど,各ループ実行に 2個づつ,3個づつみたいな
パラメータの渡し方って可能でしょうか?

python でいうところの
for i,j in ( (x1,y1), (x2,y2), ...)
とすると $i, $j でそれぞれ x1, y1 が参照できるみたいな
ことなんですが。

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/06(火) 19:23:28 ]
関数の中で
while [ $# -gt 0 ]
do i=$1;shift;j=$1;shift
...
done
とかやればいいんじゃないの?

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/06(火) 19:42:32 ]
for i j in param1 param2 ...

605 名前:602 mailto:sage [2007/02/07(水) 02:05:24 ]
>603
なるほど〜 とおもったところで
>604 ってナンだろう? と目を擦って…

ガーン!!! そんなのアリだったのか〜

info zsh したら確かにそう書いてある!!

for NAME ... [ in WORD ... ] TERM do LIST done
.snip.
More than one parameter NAME can appear before the list of WORDs.

ありがとうございます

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 09:38:07 ]
MYCOM コラム『漢のzsh』
ttp://journal.mycom.co.jp/column/zsh/001/
こんなん始まったね。

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 11:06:01 ]
>>606
お、これ面白いね。早速ブクマクした
てゆーか数年zsh使ってたが、"ls -"の後の補完でオプション出るの知らんかった・・・アホだな俺。。

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 12:40:10 ]
これだけだと面白くなるかどうかまだわからんw
WEB上だけの連載なのかな。

UNIX USER の連載は書籍化もされず、WEB で公開されることもなく
埋もれていくのか。本誌は休刊しちゃったし。

609 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 12:59:28 ]
zshマスターだけちぎってUNIXUSER全部捨てた

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 13:00:39 ]
ん? だからPDF版買えって話じゃないの?



611 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 13:54:16 ]
>>610
あれ、そんなの売ってたっけ?


612 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 15:08:15 ]
>>606
pc10.2ch.net/test/read.cgi/linux/1170503611/351
この後にこんな記事ができるってのは、2chみてんのかね。


613 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 15:34:33 ]
その程度の基本的な機能の紹介で2chと結びつけるのは酷だなw

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 15:36:41 ]
>>612
compinitは設定じゃねーよ。
常識だ。

というわけで、>>606には一応期待しておくが、まだ評価はできん。

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 16:02:12 ]
>>612の351も>>606-607も本人と決め打つのが2ちゃんだろw

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/09(金) 20:21:31 ]
ぜんぶ俺だから

617 名前:名無しさん@お腹いっぱい。 [2007/02/09(金) 21:22:33 ]
UUの連載も内容的にはけっこう古くなっているから、今更書籍化ってのも難しいんじゃないのかな。

今回のは常識だけど、まぁまだ第1回だから今後に期待だな


618 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 15:24:29 ]
MYCOM記事読んできますた

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 17:14:19 ]
誰かzshrc晒せ

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 18:10:44 ]
前にキチガイモーオタが晒してたなw



621 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 19:22:49 ]
perl -e "print 100"; とすると 100% と表示されます、% は色反転してます
この % を出したくないんですけど、どうすればいいですか

622 名前:621 mailto:sage [2007/02/11(日) 19:38:35 ]
事故解決

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/11(日) 19:40:34 ]
>>622
解決方法くらい書きたまえキミぃ。

624 名前:621 mailto:sage [2007/02/11(日) 19:43:17 ]
\n を自動で補ってくれてただけなわけで
こんな機能があったとは

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/16(金) 12:59:46 ]
MYCOMのzsh連載、早速第2回が掲載されているね。
今度はプロンプトのカスタマイズ。

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/16(金) 13:22:22 ]
PROMPT="%B%{^[[31m%}%/#%{^[[m%}%b " # ただし ^[ は エスケープシーケンス
よりは
PROMPT=$'%B%{\e[31m%}%/#%{\e[m%}%b '
とか
autoload -U colors; colors
PROMPT="%B%{$fg[red]%}%/#%{$reset_color%}%b "
とかのほうがよさそうなもんだが

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/16(金) 13:37:22 ]
> エスケープを直接設定ファイルに記述することを嫌って、
> echoやprintfコマンドを使う場合もある。好きな方を選べばいい。
> ただ、コマンドだとプラットフォームごとに動いたり動かなかったりするので、
> ここでは直接書いて使っている
echo も print も printf も組み込みコマンドですがなにか

628 名前:626 mailto:sage [2007/02/16(金) 13:39:46 ]
誤)エスケープシーケンス
正)エスケープ
orz

629 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/16(金) 14:25:01 ]
設定ファイルとかプロンプトとかどうでもいいからさっさと補完の事教えてくれよう

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/16(金) 21:36:58 ]
あんまり期待できないな



631 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 09:15:00 ]
この程度の事はだれもが通る道だよな
それで記事が書けるなんて

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 10:59:40 ]
紹介記事(スレ住人的には既に通ってきた内容)と
使いこなし記事(スレ住人も新たな発見がある内容)
は違うよなぁ……


633 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 12:02:36 ]
このコラムはどういう層を対象にしてるんだろうか

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 12:09:58 ]
第1回の出だしに、こんなの書いてある
> ここ1年でzshへ移行しやすい状況が整ってきている。
> はじめるには悪くないタイミングだ。

これからzshを始める人向けだろう

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 12:34:49 ]
いや、それはわかってるけど…

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 13:14:31 ]
大地の記事がそんなにいいわけないだろ。
冷静になれ。

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 18:20:30 ]
むしろこのスレの住人がうなるようなコアな内容を出してきたらウケル。

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 19:02:04 ]
>>637
ありえない。

もうUNIXUSERの記事の焼き直しでいいよ。

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 19:06:28 ]
妙な記事書かれるより安心だなw

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 19:17:27 ]
zshに限らず最近シェル使わなくなってきた



641 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 19:54:57 ]
compctlの解説だけで終わったりして

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 20:03:17 ]
シェル使わないってなんだ。ログインすらしてないってことか。

643 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 21:14:52 ]
正直にいって細かく設定しても使わないよね
zshrcは千行あるけど

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/17(土) 23:16:31 ]
>>641
compsysは無しかよw

645 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/18(日) 02:04:24 ]
その1000行のzshrcを見せてもらおうか

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/18(日) 20:08:40 ]
一行一レスでいいから

647 名前:名無しさん@お腹いっぱい。 [2007/02/24(土) 10:43:48 ]
htmlで終わるファイルが存在すれば"Exist"と表示させたいとして、
zsh で、
if [ -e *html ];then echo "Exist";fi
とすると、
zsh: no matches found: *url
となってしまいます。
shでは期待どおりの動作をします。
zshで期待のどおりの動作をするにはどうすればよいでしょうか?


648 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 11:22:11 ]
setopt NULL_GLOB


649 名前:647 [2007/02/24(土) 11:56:49 ]
ありがとうございました。
こうすると、上の問題は解決しましたが、htmlで終わるファイル名を表示しようとして
ls *html
とすると、ディレクトリにhoge.htmlがあっても
ls: *html: そのようなファイルやディレクトリはありません
と出ようになりました。
この問題を解決避けるには、
いちいち、setopt NULL_GLOB, setopt GLOB
をしなければならないのでしょうか?

650 名前:647 [2007/02/24(土) 12:09:56 ]
if noglob [ -e *html ];then echo "Exist";fi
としてもいいみたいですね。



651 名前:名無しさん@お腹いっぱい。 [2007/02/24(土) 12:41:46 ]
echo {1..3}

1 2 3
となります。
echo {a..c}
では
{a..c}
です。
これを
a b c
とするように出来ないでしょうか?

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 12:50:38 ]
出来ない

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 12:51:43 ]
bashならできる

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 13:24:36 ]
>>651
setopt brace_ccl
echo {a-z}

655 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 13:33:21 ]
{a..c}を、という質問なわけだが、、

656 名前:651 [2007/02/24(土) 13:55:06 ]
>>652-655
ありがとうございます。
{a..c}
ではできない、やりたかったら、
>>654
のようにしろ、ってことですね。
ありがとうございました。


657 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 20:36:40 ]
mycomの連載、3回目は履歴に関して

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 22:04:30 ]
>647
noglob と nullglob を混同してない?

noglob は glob しなくするオプション(globの否定)だけど、
null_glob はそれとは違うよ。
オレの環境では null_glob をセットしてもそんなエラーにはならないんだけど。


659 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 22:15:22 ]
unsetopt nomatch してるんじゃ?

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 23:08:41 ]
まあ *.html(N) でいい



661 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 23:32:56 ]
mycomの今回のはあまり参考にはならんかった。zsh初心者向けぽいな。

ちなみに俺は履歴関連はこんだけオプション有効にしてる。
man zshoptions 読むだけでもマンドクセ状態だが・・・

setopt extended_history
setopt hist_expire_dups_first
setopt hist_ignore_all_dups
setopt hist_ignore_dups
setopt hist_ignore_space
setopt hist_reduce_blanks
setopt hist_save_no_dups
setopt hist_verify
setopt inc_append_history
setopt share_history
setopt csh_junkie_history


662 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 00:08:02 ]
漢漢と五月蝿い記事だなあ。

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 09:20:45 ]
誰か $path から存在しないディレクトリを削除するコードを書いてくれ

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 10:22:44 ]
手元の .zshenv より

addpath () {[[ -d $1 ]] && path=($path $1)}
# add $* to top of PATH list.
addpathlist() {
tmppath=
for newpath in $*
if [ -d $newpath ]; then
tmppath=($tmppath $newpath)
fi
path=($tmppath $path)
unset tmppath
}

addpathlist ~/bin /usr/local/bin /usr/local/gnu /usr/X11R6/bin /usr/local/X11R6/bin /usr/local/X11R5/bin
addpath /usr/local/gcc/bin
addpath /usr/ucb
...

665 名前:647 [2007/02/25(日) 12:49:04 ]
>>658

すみません。ウソ言ってました。

>こうすると、上の問題は解決しましたが、htmlで終わるファイル名を表示しようとして
>ls *html
>とすると、ディレクトリにhoge.htmlがあっても
>ls: *html: そのようなファイルやディレクトリはありません
>と出ようになりました。

は間違いでした。正しくは、
(setopt NULL_GLOB とすると)
*htmlにマッチするものが無い場合、
カレントディレクトリ以下のファイル、ディレクトリが全て表示される、
です。
そして、NULL_GLOBはglobにマッチするものがなかったら何も渡さない、
ということでNO_GLOBはglobしない、という違いも理解しました。
だから、当前、setopt NULL_GLOB をして*htmlにマッチするものが無かった場合は
上のような動作をするのですね。
私が初めに書いたエラーがでるのは、setopt NO_GLOBとした場合ですね。


>>659
さんのようなオプションをつけていたわけではなく、単に私の間違いでした。

>>660
さんのおっしゃるように、
if [ -e *html(N) ];then echo "Exist";fi
でもOKでした。


666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 14:39:20 ]
試さずにかいたが、-e *html(N) って常に真を返さないか

667 名前:647 [2007/02/25(日) 15:37:36 ]
>>666
そうですね汗
またまたいいかげんなこと言ってしまいました。
if [ -e *html(N) ];then echo "Exist";fi
はつねにExistとでます。

>>647で書いたことをやりたい場合には、

1)
setopt NULL_GLOB
if [ -e *html ];then echo "Exist";fi
(この場合はls *htmlで*htmlがなかったらlsと同じになってしまうので)
そのあとで
setopt GLOB

2)
または、
if noglob [ -e *html ];then echo "Exist";fi

が正しいようです。


668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 16:29:49 ]
1) は setopt NO_GLOB では。
NULL_GLOB だと多分 *html(N) と変わらないよ。
あと、特に [ に拘らなければ
[[ -e *html ]] でもいいかな。

669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:29:32 ]
$ touch test.html
$ [ -e test.html ] && echo found || echo not found
found
$ [ -e *.html ] && echo found || echo not found
found
$ [[ -e test.html ]] && echo found || echo not found
found
$ [[ -e *.html ]] && echo found || echo not found
not found
$ touch '*.html'
$ [[ -e *.html ]] && echo found || echo not found
found

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:39:18 ]
[[ ]] はグロブを展開しないぽい
[ はコマンド扱い? (これも builtin だよね)



671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:55:15 ]
>>647
htmlで終わるファイルが存在すれば"Exist"と表示させたい(ただしzsh: no matches foundは嫌)は、

unsetopt nomatch するのが一番だろ。
その後は [ -e *html ] でも [ -n `echo *html` ] でもおk ( [[ -e *html ]] はだめぽい )

もしnomatchが嫌なら
[ -e *html(N) '' ] && echo Exist
{ [ -e *html ] && echo Exist } 2>/dev/null
みたいなw

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 17:59:40 ]
案外、簡単に処理できないもんだな。気付かずに罠にはまりそう。
昔ながらのやり方が安全かw
if ls | egrep '\.html$' >/dev/null; then echo Exists; fi

673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 18:13:15 ]
glob関連はNOMATCH, NULL_GLOB, CSH_NULL_GLOB とオプションがあってよくわからん。

参考:
ttp://d.hatena.ne.jp/amt/20060907/nomatch
ttp://d.hatena.ne.jp/amt/20060806/ZshNoGlob
ttp://www.ayu.ics.keio.ac.jp/~mukai/translate/zshoptions.html (man zshoptions)

674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 18:33:09 ]
nomatchは途中で処理が止まるから厄介
$ echo *UNKO; echo AAAAAAAAAAAAAAAAAAAAAAAA
zsh: no matches found: *UNKO
$

675 名前:名無しさん@お腹いっぱい。 [2007/02/26(月) 07:55:40 ]
>>669
> $ [ -e *.html ] && echo found || echo not found

↑は .html ファイルが2つ以上ある場合は動かない.

[ -e `ls -1 *.html|head -n 1` ] && echo found || echo not found
だとちゃんと動くが、もっとスマートなやり方はないものか...


676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 07:59:19 ]
>>675 の訂正.
> $ [ -e *.html ] && echo found || echo not found
は zsh では動くね. bash では動かないけど.
でも混乱を避ける為に、↑のように書くのは良くないだろう

677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 08:34:32 ]
サブシェル使ってよければ
(for f in *.html; do [ -f "$f" ] && return 0; done; return 1) && echo aru || echo nai
/bin/shで動く筈。

678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 11:03:52 ]
もう外部コマンド使って
ls *.html | wc | awk '{print $1}'
でいいじゃん

679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 11:18:07 ]
アホ現る

680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 21:05:11 ]
[ `echo -n *.html(N) | wc -l` -gt 0 ]




681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 21:26:59 ]
[[ -n `echo *html(N)` ]] && echo Exist || echo # うまくいく
[[ -n `echo` ]] && echo true || echo false # false

[ -n `echo *html(N)` ] && echo Exist || echo # 常にExist, だめ
[ -n `echo` ] && echo true || echo false # true

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 02:46:16 ]
[[ls *.html && $? ]] じゃ駄目なわけ?






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

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

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