トップページunix
981コメント260KB

zsh その4

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。05/02/02 20:03:26
zshのスレその4です。

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

>>2-3リンク
0931名無しさん@お腹いっぱい。2008/02/09(土) 10:21:39
>928
分かってる人にはそれでいいけど
分かってないひとは echo をコメント扱いして
`` とか $() に気づかなかったりするかもしれない
0932名無しさん@お腹いっぱい。2008/02/09(土) 10:22:11
>>930
無駄過ぎる。ネタだろw

ふつーこれだろ↓
if false; then
my comments1
my comments2
my comments3
fi
0933名無しさん@お腹いっぱい。2008/02/09(土) 10:29:10
>>932
俺の目には五十歩百歩に見える・・・・
0934名無しさん@お腹いっぱい。2008/02/09(土) 10:41:06
>>933
明らかな違いがある。

>>930 では、hereドキュメントの一時ファイルが作られ、
外部コマンドcatが実行されてしまう。

一方、>>933 では何ら無駄なコマンドは実行されないし、
無駄なファイルも作られない。完全なコメントアウトになる。
0935名無しさん@お腹いっぱい。2008/02/09(土) 10:44:56
>>934
一時ファイル・・・だと・・・・
0936名無しさん@お腹いっぱい。2008/02/09(土) 11:03:22
>>935
here documentで一時ファイルは作られるよ。zshでも。
作成されてすぐunlink()されるから、lsでは見えないけど。
lsofするとrm後のファイルをオープンしてるのがわかる。
0937名無しさん@お腹いっぱい。2008/02/09(土) 11:27:03
>>932
コメントの中身が不用意だと解釈される危険性がある時点で絶対的に劣るなあ。
Cの#if 0 じゃあるまいし、どこが完全なコメントアウトなんだ?
0938名無しさん@お腹いっぱい。2008/02/09(土) 11:59:47
>>930 は一時ファイル作る時点で絶対的に劣る
0939名無しさん@お腹いっぱい。2008/02/09(土) 12:03:03
>>938
それで何がこまるんだよ・・・・
0940名無しさん@お腹いっぱい。2008/02/09(土) 12:07:55
>>937
コメントの中身が不用意だと解釈される危険性があるのは
>>930 も同じw
0941名無しさん@お腹いっぱい。2008/02/09(土) 12:13:50
うむ、CDATAも中身が不用意だと解釈される危険性があるしな。
0942名無しさん@お腹いっぱい。2008/02/09(土) 12:38:28
>>937
では、コメントの中身が不用意でも解釈される危険性がない
↓を安心して御実行くださいwww


cat > /dev/null << EOF
echo ${HOGE-`rm -rf /`}
EOF
0943名無しさん@お腹いっぱい。2008/02/09(土) 20:31:22
ESC-q じゃだめなの?
0944名無しさん@お腹いっぱい。2008/02/09(土) 22:01:52
zcursesなんてどういうときに使うんだろう…
~/.zshrcがない時に起動した際のウィザードが変るのかな?
0945名無しさん@お腹いっぱい。2008/02/10(日) 04:15:46
echo でヒストリーにメモしとくのよく使うけど
パイプとかリダイレクト入ってると危険なんだよな。
0946名無しさん@お腹いっぱい。2008/02/10(日) 08:28:23
そんなに気にするなら何も返さないコメント用の
スクリプト作ってパス通しとけよwwwww
0947名無しさん@お腹いっぱい。2008/02/10(日) 09:30:59
>>946
何も返さないコマンドなら : とか true とかすでにある。
自分で作る必要なし。それでもパイプとかリダイレクトの問題は回避できない。
おまえ、>>945 の言ってる意味も理解できてないな。

まとめておくが、コメントアウトとして >>930 は論外。
>>942 が言うように、コメントアウトにならない場合があるし、
それ以前にcatとtempfileが無駄。

>>932 が最善だな。
あと、これと同様の別解として、

: || {
my comment1
my comment2 > リダイレクトOK
my comment3 | パイプもOK
}

と言うのも使える。これの方がタイプ量が少ないし、{ } の対応でわかりやすい。
0948名無しさん@お腹いっぱい。2008/02/10(日) 09:53:52
えっと…
目もしたいときはエディタで hoge.memo をつくって残してる…けど…
0949名無しさん@お腹いっぱい。2008/02/10(日) 12:43:38
目で覚える
0950名無しさん@お腹いっぱい。2008/02/10(日) 12:59:15
C++の//で決着ついてる。コメント化/外しはエディターに任せる。
0951名無しさん@お腹いっぱい。2008/02/19(火) 20:46:36
プロンプトに %~ でPATH表示してるとき

例えば

ls -l /home/hoge/foo
lrwxr /home/hoge/foo -> /home/hoge/piyo/bar

こんなような状況で

cd /home/hoge/foo するとプロンプトのPATH表示が
~/piyo/bar になるんだけど
~/foo にする簡単な方法ってあります?

0952名無しさん@お腹いっぱい。2008/02/19(火) 22:46:34
CHASE_LINKS が true になってるんじゃないの
0953名無しさん@お腹いっぱい。2008/02/20(水) 12:23:06
今更遅いだろうがコメントは INTERACTIVE_COMMENTS というのがあったぞ
0954名無しさん@お腹いっぱい。2008/02/20(水) 20:31:38
>>929に書いてあるじゃねえか
0955名無しさん@お腹いっぱい。2008/02/20(水) 22:56:08
>>952
それでした。知らなかった。サンクス。
0956名無しさん@お腹いっぱい。2008/02/21(木) 04:59:37
cd や pushd には -L や -P のオプションがあるから
エイリアスにしておいてもいいが、普通は挙動を揃えるか。
0957名無しさん@お腹いっぱい。2008/02/23(土) 05:18:20
RPROMPTを、表示するスペースが十分あるときには
いろいろ表示、あまりなくなってきたら
表示する情報を減らすようにしたいのですが、
(たとえば「pwdのフルパス+時刻」を時刻のみにするとか)
どうやったらいいのでしょうか。
0958名無しさん@お腹いっぱい。2008/02/23(土) 21:55:58
>>957
http://0xcc.net/blog/archives/000032.html

PROMPT='%n@%m:%(5~,%-2~/.../%2~,%~)%#

を変えればいいと思うのだけど
0959名無しさん@お腹いっぱい。2008/02/23(土) 23:35:41
% echo $ZSH_VERSION
4.3.2
% foo() { echo $1[1,3] }
% foo aaaaa
foo: no matches found: aaaaa[1,3]
% bar() { local S=$1; echo $S[1,3] }
% bar aaaaa
aaa

仕様?
0960名無しさん@お腹いっぱい。2008/02/24(日) 01:01:10
foo() { echo ${1[1,3]} }
0961名無しさん@お腹いっぱい。2008/02/24(日) 01:36:03
S と 1 でナニが違うの?
変数名規則かなにかで特殊ってことかな?
09629592008/02/24(日) 02:07:29
>>960
ありがと
0963名無しさん@お腹いっぱい。2008/03/02(日) 02:52:45
cygwin+zshを使ってるんだが,補完候補を出すのが重すぎるんで,候補をもっとサクっと出したい.

ネットワークを見に行ってるせいだと思うんで,ローカルのみで候補出させたいんだけど,
そんなことできる?
0964名無しさん@お腹いっぱい。2008/03/02(日) 02:57:25
Network Interfaceをdownさせる。
0965名無しさん@お腹いっぱい。2008/03/02(日) 06:03:26
>>964
それじゃネットつながんないじゃん;

なんか今はやたら軽く表示されるようになった.
ssh で補完動かしても表示しますか?って聞かれまでの時間が一瞬になった.
聞いた時は,1分くらい動きなく固まってたんだが...

なんかよくわからんが,ありがとう.


でも,zshの補完機能をbash程度にする正攻法があったら教えてください.
0966名無しさん@お腹いっぱい。2008/03/02(日) 06:54:14
bash使えばいいやん
0967名無しさん@お腹いっぱい。2008/03/02(日) 10:18:53
ちんちん sh! sh! sh!
0968名無しさん@お腹いっぱい。2008/03/02(日) 15:43:32
>>966
ですよねー.

zsh のヒストリ機能やパスの ** 指定が捨てられないので,騙し騙しやっていきます.
0969名無しさん@お腹いっぱい。2008/03/03(月) 07:20:51
sshの補完関数をいじって簡単なものにして
そっち読むようにしたら?
0970名無しさん@お腹いっぱい。2008/03/03(月) 07:23:38
>>547 以降にやり方がかいてある
0971名無しさん@お腹いっぱい。2008/03/06(木) 03:25:17
プロンプトにディレクトリを表示している時、
ある変数の値がCWDと一致してしまった場合に
プロンプト表示がその変数名に置き換えられてしまうのですが、
これをやめさせられないでしょうか。
0972名無しさん@お腹いっぱい。2008/03/16(日) 17:46:55
こんなんなるんだ。PROMPT/RPROMPT の %~ だよね? unhash -d foo_var てのは期待してないと思うから %~ -> %d かな? ~ 表示が /home/user になるけど。
0973名無しさん@お腹いっぱい。2008/03/18(火) 14:46:43
zshはカオスだからfishに改宗しようかと考えてる
0974名無しさん@お腹いっぱい。2008/03/29(土) 02:03:47
_pactl とかあります?
0975名無しさん@お腹いっぱい。2008/03/31(月) 22:45:52
ps コマンドの補完関数ってないの? 誰か書いて
0976名無しさん@お腹いっぱい。2008/04/04(金) 00:27:45
zshがcoreはきやがった。シェルがcoreはいちゃだめじゃん
0977名無しさん@お腹いっぱい。2008/04/04(金) 12:53:42
coreも吐かずに死なれるよりは……
0978名無しさん@お腹いっぱい。2008/04/06(日) 20:59:41
割と落ちるよね。 補完で。
深い path の補完で暴走気味なのも困ったもんだ。
困るだけだけど。
0979名無しさん@お腹いっぱい。2008/04/06(日) 21:00:12
>>975
標準であるような。
0980名無しさん@お腹いっぱい。2008/04/07(月) 04:22:39
>>979
まじ?
/usr/share/zsh/4.3.4/functions/_ps はポストスクリプトの補完で
ps -[TAB] すると No matches for: `file' と言われちゃう。
0981名無しさん@お腹いっぱい。2008/04/07(月) 04:39:27
・・・
レス数が950を超えています。1000を超えると書き込みができなくなります。