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


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

zsh入門 パート2



1 名前:名無しさん@お腹いっぱい。 [02/11/03 20:49]
パート2ですよ,にーさん


74 名前:65 mailto:sage [02/11/16 19:09]
>>73
> 02-11-16 02-11-16s
> となってうまくできなかったのでその部分をdate +%sに置き換えました。

zsh のオプション設定によっては、ブレースが更に特別な意味を持つためです。
>>65 で '%D{%H}' などのように quote してあるのはそのためです。
>>72 でも、オプションに左右されないようにそうした方がいいでしょうね。

> ${1-$(print -Pn %D)}のように:が無くてもいいようですが、違いはなんでしょう?

たしか : がなければ null かどうかは問わなかったはずです。
${1-$(print -Pn %D)} で $1 が null だとそのまま null が評価値になります。

75 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/16 22:38]
$(( )) -> $[ ] は気がついたから変更してたんだけど、
''は気づいてなかった。

ブレースの解釈に影響があるオプションって何?
と思って探してみたら BRACE_CCL で動作が変わった。

: の有無はzshに限らずshell scriptのFAQという気がする。

76 名前:73 mailto:sage [02/11/17 22:16]
>>74
ありがとうございます。
>>75
FAQでしたか。すいません。

77 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/29 00:24]
さがってるからあげるね。

setopt printexitvalueってやつさ、シェル関数の返り値はおしえてくれないんだね。
例えば
hoge(){
false
}
ってのを実行して$statusは1なんだけど、printexitvalueは教えてくれない。不便だ。

78 名前:名無しさん@お腹いっぱい。 [02/12/01 00:08]
compctl -g '*.l' + flex lex
と定義してもflexは*.lexファイルしか補完してくれない。
autoload -U compinit
compinit -u
これを実行しなければ問題ないんだが、そう言うわけにはいかないので
だれか教えてください。

79 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 17:18]
>>78
_flex を ~/.zfunc/ にコピーして input files の部分を書きかえる。
その後 $FPATH=~/.zfunc:$FPATH を .zshenv 等に加える。
そしてzshを起動しなおす。


80 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 17:58]
>>79
できた。ありがとう。
今までオプションの補完ができるなんてスゲーとか思ってたけど、
_flexとかのファイルに書いてあるだけなのか。

81 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/01 19:40]
むしろ_flexとかのファイルに書いてあるから
自由自在にカスタマイズ(のはず)

82 名前:名無しさん@お腹いっぱい。 mailto:age [02/12/07 22:59]
age



83 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/09 21:35]
%cat dummy
001 aho
002 boke
003 hage

というファイルを
001
002
003

aho
boke
hage
に分けるとき、
cut -f1 dummy>f1
cut -f2 dummy>f2
というのを一気にやりたいですが、どうすればいいでしょう。
<() <()

>f1 >f2
などを使ってできないでしょうか?




84 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/09 21:51]
cut -f1 dummy > f1; cut -f2 dummy > f2

いやー、セミコロンって便利♥

85 名前:83 mailto:sage [02/12/12 11:11]
ぼくは真面目に質問してるのです!!

86 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 11:26]
>>85
>>84 は真面目に答えてると思うが。

87 名前:84 mailto:sage [02/12/12 12:28]
>>86
フォローして貰っといてなんだが、別にマジメって程のモンではありませぬ(w

88 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 14:16]
というか、awk使うべきだろ
この場合

89 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 17:37]
↑キボン

90 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/12 23:30]
>>89
スレ違い

awk '{print $1 > "f1"; print $2 > "f2";}' dummy

91 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/13 00:43]
84 の方が短い罠

92 名前:84=90 mailto:sage [02/12/13 02:43]
そして 84=90 という罠



93 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/13 19:34]
オークの中でリダイレクトできるのか。

94 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/15 02:53]
zshでの関数定義内において
標準入力をファイルに書き出すには
どのような書き方がありますか?

使い方:
last | x2w

コード:
x2w(){
while read line do
echo >>dummy-memo.txt
done
<略>
}

read line do;〜;done しか思い当たりません。


95 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/16 02:40]
短く書くのならcatでいいのでは?

x2w () {
cat >> dummy-memo.txt
}


96 名前:83 mailto:sage [02/12/17 14:03]
どうもです。

cut -f1 dummy>f1
cut -f2 dummy>f2


cut -f5 dummy>f5

を連続して実行したいのですが、
^1^2
のグローバル置換ありませんか?
^1^2だと
cut -f1 dummy>f2
になります。



97 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/17 14:59]
date -3
で今日の日付をhighlight表示させる方法ありませんか?

98 名前:65 mailto:sage [02/12/17 16:57]
>>96
r 1=2 とか。それよりも for loop を廻した方が早いと思うが
>>97
くだ質へ行きたまえ

99 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/18 01:12]
>>96
!:gs/1/2/
はどう?

100 名前:100 [02/12/19 02:07]
zsh (・∀・)イイ!!

101 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 02:29]
シェル変数を補完しないようにするにはどうすればよいのでしょう?

102 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 08:24]
awk --help |grep hoge
grep --help | grep hoge
のようにhelpの出力をgrepしたい時は
| を使うのでしょうか?









103 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 09:49]
>102
そうですが何か?

104 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 10:48]
sourceコマンドの補完で質問。
原因不明で、以下のものが動かなくなった。
他のサンプル持ってないので、皆さんの
_source見せてください。
おながいします。


% cat _source
#compdef . source
compadd ~/.zsh.d/.zsh(rc|env) || _files


105 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 14:33]
あー、グローバルエイリアスってすごいね。
これだけでzshに存在意義を見出させてしまいます。

zsh以外で実現しているシェルってあるの?

106 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 17:36]
>>102
もしできなかったら
awk --help 2>&1 |grep hoge

>>105
なに設定してる?
漏れは
alias -g I=/dev/stdin
alias -g O=/dev/stdout
alias -g E=/dev/stderr
alias -g N=/dev/null
alias -g L='|less'
alias -g G='|grep'

107 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 19:52]
foreach i (ココの部分)
      ^^^^^^^^
グローバルエイリアスがいちいち展開されてウザイっす。
例えば、bindkeyでキーバインディングの空き情況を調べる時、
foreach i (w \W i \I);bindkey "^x$i";end
のように展開を避ける必要があって、面倒です。

グローバルエイリアス展開の有無を情況ごとに調整する
オプションありませんか?

108 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 20:52]
bindkeyを引数なしで実行すればいいのでは?

109 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 22:47]
>>107
> グローバルエイリアス展開の有無を情況ごとに調整する
> オプションありませんか?
これは自分も以前思ったことがあった。しかし、グローバルエイリアス
の有効・無効を「簡単に」切り替えられる方法は見つけられなかったが、
一応の方法は見つけた。

無効にしたいとき、
disable -a $galiases[(I)*]
有効に戻したいとき
enable -a $dis_galiases[(I)*]

110 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/19 23:36]
漏れはグローバルエイリアスって使ったことないんだけども、
それって使い方を間違えているんじゃない?
もっと、衝突しづらい文字列のエイリアスをあてがうのが正しい使い方かと。

111 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 00:25]
そうでもない

112 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/20 21:55]
%echo '
>hoge
>hoge
>ho
ここまで入力して上の行に戻れる?



113 名前:104 mailto:sage [02/12/21 02:48]




いろいろ調べていますが、結局のところ

% cat _source
#compdef . source
compadd ~/.zsh.d/.zsh(rc|env) || _files

でsourceの補完が聞かなくなった理由が
わかりませんでした。

だれか理由か関連情報ご存知ありませんか?





114 名前:名無しさん@お腹いっぱい。 [02/12/22 01:52]
zshで、makeなどの出力結果をコンソールに出しながら
標準出力と標準エラー出力をそれぞれ別ファイルに吐き出すことは出来ますか?


115 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:02]
make >LOG.stdout 2>LOG.stderr >& /dev/tty
とか
make >LOG.stdout 2>LOG.stderr |& tee
の方がいいか

116 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 03:38]
どうもありがとうございます。
shじゃできないけど、zshだと出来るのですね。

117 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:13]
history内部コマンドの表示行数はデフォルトでは10行ですが
変更方法はありませんか?

118 名前:名無しさん@お腹いっぱい。 [02/12/22 23:19]
おまいら便利なbindkey教えてください。
unix userに載ってたのを書いてみる
accept-and-hold(M-A) コマンドを実行して再び表示する。
transpose-word(M-T) 単語を入れ代える
quote-line(M-') 'でくくる
insert-last-word(M-.) 直前のコマンドの最後の引数を挿入

autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが
でてこないのは漏れだけ?

119 名前:名無しさん@お腹いっぱい。 [02/12/22 23:21]
>>117
たぶんHISTSIZE=10000(byte)

120 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/22 23:22]
>>117
勘違いスマソ
alias history='history -20'

121 名前:117 mailto:sage [02/12/23 00:09]
alias使うと、
% history -m 'hoge*'
などのマッチングが出来ません。

そうすると、
% function history{history 〜}使うしかないのかな?




122 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 00:10]
>>121
> % history -m 'hoge*'
> などのマッチングが出来ません。

ということにしたいのですね。



123 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 01:23]
そもそもhistoryコマンドって何に使う?
>>121
grep使えば?

124 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 03:01]
>>118
> autoload run-helpをやってもM-h(run-help)でwhereなどの内部コマンドのヘルプが
> でてこないのは漏れだけ?
手許では unalias run-help; autoload run-help で内部コマンドのマニュアルが動いている。
もっとも zshbuiltins(1) が先頭から表示されるだけで、それほど便利ではない(w

>>119
単位は byte でないよ。履歴の数そのもの

>>117
history は fc -l の別名だから適当に使い分ければ?

125 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 16:35]
>>124
run-helpがaliasされてたのですか。おもしろい使い方ですね。
>単位は byte でないよ。履歴の数そのもの
スマソ

126 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 01:38]
$@, $*の扱いがzshとshで違うのは仕様ですか?

127 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 10:12]
>>126
どう違う。


128 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 21:33]
#test.sh
arg.sh $@
arg.sh $*
arg.sh "$@"
arg.sh "$*"

引数の数を表示
#!/bin/sh
#arg.sh
echo $#

sh test.sh 'a b' 'c d'
4
4
2
1
zsh test.sh 'a b' 'c d'
2
2
2
1
勘違いしてたらスマソ>>127
bashは4421になった。

129 名前:名無しさん@お腹いっぱい。 mailto:age [03/01/03 11:52]
から揚げ

130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 15:49]
うまうま

131 名前:名無しさん@お腹いっぱい。 [03/01/03 18:08]
zsh を 3.0.8 から 4.0.4 に上げたら job control が変になりました。
具体的には
% less nannoa.txt

として見てるときに kill -STOP `pidof less` して止めたとき、
fg で less をフォアグラウンドにだすと jk では上下せず、
j + return, k + return というように改行キー入れないと動かなくなります。

これ、どのへんの設定を直せばいいんでしょうか。


132 名前:777 mailto:sage [03/01/03 19:06]
>>826
すんばらしい。
ありがとうございました。




133 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/03 20:16]
>>826 に期待がかかるわけだが。

134 名前:826 mailto:sage [03/01/03 22:49]
>>777
いえいえ、どーいたしまして

135 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/04 13:11]
>>131
4.06にしたら?

136 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 01:08]
>>128
see SH_WORD_SPLIT

% zsh -y test.sh 'a b' 'c d'
4
4
2
1


137 名前:128 mailto:sage [03/01/07 19:35]
>>136
ありがとうございます。

zshってzshのオプションは補完してくれないのか。

138 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 20:04]
-o


139 名前:名無しさん@お腹いっぱい。 [03/01/11 12:07]
日経Linuxでちょろっと取り上げられてたage

140 名前:名無しさん@お腹いっぱい。 [03/01/12 12:54]
zshrcの置き場所って
~/.zsh/zshrc
で正しいですか?
設定を読み込んでくれないのですが

141 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:01]
>>140
/etc/zshrc

142 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:17]
>>140
~/.zshrc




143 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:22]
>>140
$HOME/.zshrcでいいんじゃない?

144 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/12 13:24]
>>140
ドキュメントを読まない方はお断りします。

145 名前:名無しさん@お腹いっぱい。 [03/01/12 16:59]
>>12 のwikiが無くなってるんだけど、どっかに移転しましたか?

146 名前:140 [03/01/13 03:33]
140ですが
$HOME/.zshrc
を読み込んでくれません
aliasも有効にならないし
環境変数も有効にならないし
書式がおかしいというエラーも出ません
なんででしょうか
chpassでログインシェルを変更しました
またログインシェルを変更せずとも
ただたんにフォアグラウンドで走らせようとも
関係なく読み込んでくれません
関係ないか
なんででしょうか?

147 名前:140 [03/01/13 03:40]
ちなみにパーミッションは
-rw-rw-rw-: こんな感じですね
とくに意味は無いですが
そのうち変えます
自分に読み込み権限はあります


148 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 10:14]
>>147
source $HOME/.zshrc って打ったらどうなる?

149 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 11:00]
>>147
> -rw-rw-rw-: こんな感じですね

(゚Д゚)ハァ?

150 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/13 13:55]
>>140

# $HOME/.zshenv
ZDOTDIR=$HOME
export ZDOTDIR

man zsh に目を通しておきませう


151 名前:150 mailto:sage [03/01/13 13:59]
あ、 >>150 は zsh 4.0.6 (i686-pc-cygwin) での話なんで、
他の環境では違うのかも...

152 名前:山崎渉 mailto:(^^)sage [03/01/15 12:53]
(^^)



153 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 20:56]
GUIでアイコンをクリックすると適切なアプリが起動するように、
プロンプトでファイル名をうったら適切なアプリが起動したら便利だと思う。
zshのpreexecとかでできないかな?

preexec(){
if [ -f "$1" ]; then
vi $1
fi
}
と定義して
%.zshrc
とやるとviは起動するんだけど、 そのあとに
zsh: command not found: .zshrc
となる。ちょっとうざい。

154 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/20 21:11]
>>153
スクリプトで拡張子見て起動するようにしてみれば?

155 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 09:36]
>>154
まず magic を見て、次に拡張子の方がいいだろうな。
file の出力を拾うのがいいかな?


156 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 18:13]
>>154-155
スクリプトだとたとえ1文字にしても
%a hoge.txt
としなければいけない。
%hoge.txt
ってのはやっぱり無理かな。

157 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 22:12]
bindkeyで適当な関数を割り当てればいいんじゃないかな。
内容はあんまりいい例じゃないかもしれないけどこんな感じで。

function my-accept-line {
emulate -L zsh
local -a cmd; cmd=(${(z)BUFFER})
case "$cmd[0]" in
*.log)
BUFFER="$PAGER $BUFFER"
;;
*)
if [ -z "`whence $cmd[0]`" ]; then
BUFFER="echo $BUFFER"
fi
;;
esac
zle accept-line
}
zle -N my-accept-line
bindkey '^J' my-accept-line

参考にしたのは
dengaku.org/~naoki/zsh/FAQ-J/zshfaq02-j.html
のrun-fg-editorと
www.zshwiki.org/cgi-bin/wiki.pl?ZshHardStatus
のpreexec。

158 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/21 23:31]
>>157
カッケー!サンキュウ!

159 名前:158 mailto:sage [03/01/22 01:58]
よく考えたら補完が使えなくなるのか。うーん。

160 名前:155 mailto:sage [03/01/22 09:43]
おれはpreexecの中で一時的にaliasを定義したらいいかな?
と思ってやってみたんだが、aliasの展開はpreexecより前
みたいなんだよなー。
ソースをちょっと直せば対応できそうな気がするけど。


161 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 14:25]
faq っぽいですがよろしくです。

shell> aaa bbbbbbbbbbb ccccc

とかあって、bbbb の中頃にカーソルがあるとします。そこで、
次の単語までジャンプする方法ってありますか?
# つまり ccccc の頭まで。
矢印キー押しっぱなしというのは美しくないので・・

162 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/02 16:10]
>>161
ESC f とか ESC b とか



163 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 02:15]
さんくすです! esc か・・。
ctrl に適当に割り当てられれば便利そうですね。
^F も ^B も日頃使わないからそれに振ってみます ;-)

164 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 11:06]
>>163
Meta-b(Alt-b) でイくない??

165 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 15:09]
macos 上のターミナルなので alt は無いです。option キーだと
変な文字が入力されるだけだし・・。ううむ。

166 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/03 23:28]
>>161ではありませんが、C-, とか C-. に割り当てることは出来ませんよね?
ってこれは、terminalの問題か...。


167 名前:名無しさん@お腹いっぱい。 [03/02/06 23:32]
実行しているコマンド名をウィンドウのタイトルに設定したいんですが、そんなこと
可能でしょうか?
Enterでコマンドが投入された直後にそのコマンドラインをウィンドウのタイトルに
設定できればいいと思ったんですが、うまい方法を見つけられませんでした。
実行が終了して元に戻すのはPROMPTでいいんでしょうが。

168 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/07 00:04]
>>167
preexec を設定してはどうでしょうか。
cf. ttp://www.zsh.org/mla/workers/2000/msg03993.html


169 名前:167 mailto:sage [03/02/07 00:45]
>>168
そういうフックがあったのですね。ありがとうございました。試してみます。

170 名前:fushianasan mailto:sage [03/02/07 17:49]
zshって、tcshとくらべると、
動作速度、メモリの使用量はどうなの?

171 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 01:01]
>>170
起動はおそい

172 名前:fushianasan mailto:sage [03/02/08 01:06]
一回起動しちゃうと、サクサク?

screenとかmlterm多様してると、
シェルのプロセス立ちまくるから、
あんまり重い||遅いとこまる。

tcshマンセーな俺はzshを愛せるだろうか



173 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 04:20]
こんな感じ
% ps aux |grep '[tcz]sh'
xxx 2172 0.0 0.8 2436 2016 p3 Ss 4:17AM 0:00.14 -zsh (zsh)
xxx 2178 0.0 0.4 1384 996 p3 S 4:17AM 0:00.03 tcsh

うーむ、実質二倍って感じ?

174 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 08:58]
>>172
一回起動するとサクサク!
screenはdetatchしてatatchすれば起動の遅さは気にならないはず






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

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

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