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


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

zsh その7



1 名前:名無しさん@お腹いっぱい。 [2012/05/24(木) 16:34:43.03 .net]
zshについて語るスレ

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

・過去ログ
zsh その6
toro.2ch.net/test/read.cgi/unix/1229010860/
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/

319 名前:名無しさん@お腹いっぱい。 [2014/03/22(土) 19:51:45.22 .net]
>>317
${LINENO} じゃ?

320 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/22(土) 20:41:45.84 .net]
>>319 は $LINENO と ${LINENO} が違うものだと思ってるのかよw

321 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/22(土) 20:47:29.70 .net]
>>317はそうと知らずに$LINENOの後に続けてコロンとモディファイアになる文字を書いちゃったのかもね
そういう場合は>>319がいうように${LINENO}にすれば回避できる

322 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/22(土) 20:54:22.74 .net]
${LINENO} とか中途半端な書き方せずに "$LINENO" と書くのがお勧め。

323 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/22(土) 20:56:22.21 .net]
いや、

PS1=$LINENO とかやっても $LINENO の値が動的に変わるわけじゃないって話だろw

324 名前:391 [2014/03/22(土) 21:03:44.02 .net]
ごめん。一般の変数の展開と勘違いした。
マニュアル読むと LINENO はスクリプトの中で使うだけみたいだな。

プロンプトの行番号の概念がはっきりしないんだけど、これはイメージどおり?

PS1="%h $"

%h, %!, ! だと履歴の番号になるみたい。

325 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/22(土) 21:29:22.55 .net]
>>324
まあプロンプトにLINENOがあっても?だけど普通にログインシェルでも立ち上げてからの行数でるよ

326 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/03/29(土) 14:28:58.64 .net]
cd -[TAB] で表示されるディレクトリスタックをいじることってできますか?
m〜n番目のエントリを削除、とかがしたいです
dirsコマンドにはそれらしい方法はなさそうでした

327 名前:名無しさん@お腹いっぱい。 [2014/04/02(水) 01:47:32.48 .net]
現在の設定のままroot権限持つことって可能ですか?
$ZDOTDIRを〜〜、ではなく現在のシェルで設定した変数を保持したままで、ということです。
sudoすれば良いだろ、というのはなしでお願いします



328 名前:名無しさん@お腹いっぱい。 [2014/04/02(水) 02:29:34.48 .net]
su -m は?

329 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/06(日) 19:36:26.45 .net]
いつの間にかipの補完ができなくなった
ssh hoge@XXXのXXXが数字だと補完してくれない
みんなできてる?

330 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/07(月) 23:00:57.97 .net]
IP補完なんてできるのか
て、試したらできなかったわ

331 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/07(月) 23:46:43.44 .net]
>>329
できてるで
% ssh foo@10.5.5.<tab>
10.5.5.1 10.5.5.2 10.5.5.3 10.5.5.4

% zsh --version
zsh 5.0.5 (x86_64-apple-darwin13.0.0)

_ssh は zsh 付属のやつっぽい

332 名前:名無しさん@お腹いっぱい。 [2014/04/07(月) 23:46:48.56 .net]
/etc/hosts に書いてあってもだめ?

333 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/08(火) 01:23:23.75 .net]
>>329
_ssh ちょっと読んでみたけど
ip アドレスは、.ssh/config に書いてあるやつしか補完されないっぽいな…

334 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/08(火) 17:27:02.17 .net]
function print_known_hosts (){
test -f /etc/hosts && sed -e 's/#.*//' /etc/hosts
test -f $HOME/.ssh/known_hosts && tr ',' ' ' <$HOME/.ssh/known_hosts | cut -d ' ' -f1 | sed -e '/^|1|/d;s/^\[\(.*\)\]:[0-9][0-9]*$/\1/'
test -f ~/.host.completion && cat ~/.host.completion
}
_cache_hosts=($(print_known_hosts | tr '[:blank:]' "\n" | sort -u))

ってやって.ssh/known_hostsに書いてあるやつは補完できるようにしてるわ

335 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/04/08(火) 17:27:43.67 .net]
あ、上記はもちろん.ssh/known_hostsがハッシュされてると動きませんあしからず

336 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/05/24(土) 18:36:48.95 .net]
alias -g G='| grep'
alias -g H='| head'
alias -g T='| tail'
などのグローバルエイリアスをしてる人多いと思いますが、
特定のコマンドの後ろに付ける場合は無視するようにはできませんか?

337 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/06/27(金) 11:50:13.57 .net]
普段lsに--group-directories-firstオプションをつけてるんですが
zshのglobをこれと同じソート順にしたいです
どうすればいいですかね



338 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/02(水) 02:55:08.08 .net]
PROMPTの%(?,,)の構文の挙動がおかしくないですか?
試しに下記のようなコマンドを入力すると逆の結果を返しており、psvar[2]を見て判断しているように思えます。
precmd(){}
psvar=( '0' '1' )
PROMPT='%? %1(?,success,error) %# '
sh -c 'exit 1'
:

これはバグでしょうか。それとも僕が何か勘違いしているのでしょうか
zsh 5.0.5 (x86_64-unknown-linux-gnu)

339 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/03(木) 12:05:59.89 .net]
>337
使ってる人いるんですか,global alias

alias 設定した文字(列)を引数に書いた瞬間に死亡する,
という挙動のリスクが大きくて,
たいしたことない利便性ではリスクに見合わない印象

340 名前:337 mailto:sage [2014/07/03(木) 21:58:27.42 .net]
クッソ便利で使うのが当たり前だと思ってたけど自分だけかな?
確かに気をつかないといけないけどさ・・・
まぁだから>>336を書いたわけですが

341 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/03(木) 22:54:56.85 .net]
たった6文字ぐらい手で打てよ
お前今にとんでもないトラブル起きるぞ

342 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/04(金) 06:34:45.12 .net]
アンタ死ぬわよ

343 名前:名無しさん@お腹いっぱい。 [2014/07/06(日) 15:43:10.17 .net]
% LD_LIBRARY_PATH=
だとファイルリストが補完できるかと思うんですが、同じことを
% env LD_LIBRARY_PATH=
でもできるようにするにはどんな設定すればいいですかね?

tab以外のキーに _complete_files をバインドして補完しても
complete-files: no matches found: LD_LIBRARY_PATH=*
とかなってしまいます。。。

344 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/09(水) 07:30:40.92 .net]
編集子について質問させてください

fullpathをチルダ付きpathに変換したいのですがうまくいきません
$ echo '/Users/xxx/doc/aaa.txt' | read fn; echo ${fn:s/$HOME/~/}

ご教示お願い致しますm(_ _)m

345 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/10(木) 06:37:32.63 .net]
>>344
すんません。自己解決しました

${fn/$HOME/'~'}

でした。

346 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/13(日) 18:41:43.93 .net]
補完絡みで質問です。
パッケージインストール直後や、~/bin等にスクリプト入れた直後だと補完に候補が出てこない(source .zshrcすればok)。
bashだと、直ぐ補完に反映されてるので何かオプションがありそうですが教え下さい。

347 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/13(日) 18:47:27.56 .net]
>>346
rehash



348 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/13(日) 21:09:31.42 .net]
>>347
オプションでは無いんですかね。
都度打つのが面倒なんで、、、
皆あまり気にならない?

aliasにするか、cd辺りでrehashを自動化ってことなのかな。

349 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/13(日) 23:00:30.29 .net]
空エンターでrehashするようにしてる

350 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/14(月) 01:04:35.45 .net]
そんなコマンドあったのか、今までexec zshして丸ごと入れ替えてた

351 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/14(月) 03:56:04.04 .net]
補完に反映なら
zstyle ':completion:*' rehash 1

zstyle ':completion:*:commands' rehash 1
に絞ってもいいかもしれんが

352 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/14(月) 19:36:07.05 .net]
>>351
完璧っす、有難い。

353 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/14(月) 21:56:39.50 .net]
なんでそんなにしょっちゅうrehashが必要なんだろ。

354 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/18(金) 18:37:43.55 .net]
gitで管理してるディレクトリの時だけ、
プロンプトにmasterとかサブブランチの情報が欲しい

ググった奴コピペしたのは管理してないところでmasterになってて邪魔だった

355 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/19(土) 01:11:13.77 .net]
もうちょっとググれ

356 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/07/29(火) 03:21:40.66 .net]
管理外でmasterって出るってgitの出力使ってないじゃん
どこから出力得てるんだ

357 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/01(金) 17:29:13.41 .net]
a=(1 2); b=(3 4 5); foo $a $b
みたいな感じで foo にリストを引数として渡す場合には foo はどう書けば良かろうか?
あ、a や b の要素数は可変で。
a と b を繋げたリストでよければ foo の中で c=($*) すればいいっぽいけど、別々に欲しい。
あれ local c=($*) したらエラーになるのはなんでだ?



358 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/01(金) 22:13:56.69 .net]
変数名を渡して関数の中でevalする

359 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/02(土) 05:21:24.46 .net]
>>357
自分も昔ハマったことがあるが、local では配列の宣言と同時には代入ができないみたい

359 が言うように変数名を渡す方法が最初に思い付くけどもっと良い方法があるのかな?

% a=(1 2); b=(3 4 5)
% foo() {local A B; A=(${(P)1}); B=(${(P)2}); echo "$1[2] -> $A[2], $2[2] -> $B[2]"}
% foo a b
a[2] -> 2, b[2] -> 4

360 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/08/08(金) 16:09:44.11 .net]
なるほど、名前自体を見て処理すれば良いのか、勉強になりました。
ちなみに bash だと local で宣言と同時に代入ができるみたい。なぜだ。

361 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/09/18(木) 03:16:09.91 .net]
{
for i in {1..10..2}
で1,3,5,・・・,9と { } 増分

362 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/09/18(木) 06:00:27.66 .net]
あれ、途中で変なふうに書き込んでしまいました。すいません

{1..9..2}で、1,3,5,・・というふうに増分2で展開されますが、1,2,4,8,・・・というふうに
累乗的に増えていくようなものを表す方法ってありますか?
{1..9**2}みたいな感じで書けたら便利なんですが・・・さすがに無理ですか?

363 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/09/18(木) 14:14:34.28 .net]
ない。forで使うならiを指数としてループの中で計算すればいいじゃん。

364 名前:363 mailto:sage [2014/09/18(木) 21:33:59.91 .net]
やはりさすがにないですか。ありがとです

いずれはインクリメントを自由に設定できるようになることを期待
zshなら・・・zshならきっと

365 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/09/18(木) 23:09:51.96 .net]
普通のプログラミング言語でもできなくね?と思ったが
リスト内包表記があるのならできるか・・・

366 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/09/29(月) 00:55:12.75 .net]
Bashで使えてたcocot がzshにした途端使えなくなった。なぜ?

367 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/02(木) 01:20:45.75 .net]
bashが脆弱性で大変なことになってるけどzshは大丈夫だよね?



368 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/02(木) 04:50:39.63 .net]
zshは↓で固まるけど、これで攻撃できる?

echo hoge >file1 >file2 >/dev/stdout

369 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/02(木) 07:26:53.32 .net]
固めてどうするの?
そもそも、任意のコードが実行できるなら攻撃も糞もやりたい放題じゃん

370 名前:名無しさん@お腹いっぱい。 [2014/10/06(月) 17:36:13.45 .net]
zshを使ってきた君たちへ

君たちが悪いわけじゃないんだよ
君たちが覚えたzshの将来が無かっただけ
当時の社会が悪かっただけ
君たち一人ひとりが悪いわけじゃないんだよ

だから自分を責めないで
社会と向き合ってください
そうすればきっと気が付くはず
君たちのzshの知識が無用なのだということに
君たちの存在自体が社会の足枷だということに

371 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/06(月) 18:18:19.07 .net]
元ネタは冷凍ワッフルかw

372 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/11(土) 06:37:55.90 .net]
数値演算用の関数として

function calc()
{
echo $(( $* ))
}

というのを作って使ってるんですが、 ( ) が入れ込んでたりすると zsh: bad pattern: と出てしまいます
引数全体を""で括ればいい話なんですが、そういうことやらずに引数の文字列をそのまま関数に渡すことってできないでしょうか?

373 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/11(土) 13:02:05.09 .net]
>>372
""で括らずに引数の文字列をそのまま渡すのは無理
*や()のエスケープするか、素直に$(( ))を使ったら?

374 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/24(金) 20:16:01.24 .net]
https://github.com/Aso23/zsh_virsh_autocompletion/blob/master/_virsh
をfpathに配置して
autoload -U compinit
compinit
ってやるとvirshコマンドで補完が効くんですが
compinitをcompinit -Cにすると補完が効かなくなってしまいます

どうも上記のスクリプトの記述が悪いっぽいのですが
どこを直したらいいか分かる方いませんか?

375 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/12/05(金) 15:11:56.76 .net]
wiki.fdiary.net/zsh/?FAQ%40zsh%A5%B9%A5%EC
にbindkey表記が載っていますが、Ctrl+Shift+xやAlt+Ctrl+Shift+xに割り当てたいときはどう表記すればいいのでしょうか?

376 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/12/07(日) 22:20:47.08 .net]
asciiコード表を眺めて、文字コードとして存在するのかから考えよう

377 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/01/28(水) 03:43:40.20 .net]
>>375
遅レス&横レスですけど、できました?
shift って bindkey では設定できないと思ってたけど

キーバインドってなかなか自由自在にできなくてもどかしいですよね
個人的には ctrl-j と enter が区別できなくて等価に LF として扱われるのが辛い



378 名前:378 mailto:sage [2015/01/28(水) 03:47:05.69 .net]
あ、ctrl-j と enter の件は端末側の話ですかね、すみません

ググると、端末の入力モードをrawにすればキーコードが勝手に解釈されたりせずに
ダイレクトに届くっていうけど、rawなんて使ったことないけどまともに使えるのかな・・・

379 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/02/04(水) 23:38:43.44 .net]
>>375
Ctrl+Altって^[[ではなく^[^じゃなかった?
途中で変わったのかな

380 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/02/06(金) 13:05:15.40 .net]
書き間違いだろう

381 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/02/15(日) 00:11:46.49 .net]
じゃあ xterm -xrm '*modifyOtherKeys:2' にしようか

382 名前:名無しさん@お腹いっぱい。 [2015/03/28(土) 08:29:49.28 .net]
hosh

383 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/26(日) 18:25:52.86 .net]
echo $(A="A" && echo $A)みたいな代入文のシンタックスシュガーって存在する?

384 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/26(日) 22:46:25.40 .net]
代入文じゃねえ代入式

385 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/09(土) 18:34:14.38 .net]
意図がわからないけど、こういう話ではなくて?
構文糖ではないけど。

echo ${:-A}

386 名前:名無しさん@お腹いっぱい。 [2015/05/14(木) 20:27:12.02 .net]
Cのカンマ演算子みたいな感じかね。
できるかどうかは知らないけれど。
後上記の人の説明の補足をするならば、
例えば以下のようにした場合、変数Bに中身が設定されていなければ中身をA
echo ${B:-A}
として扱うという事であって実際に変数Bが作られるわけでは無いので注意。
数字でよければ echo $((++A))
値1を持つ変数Aが作られる。だから>>362とかは以下のようにもできる。
repeat 10 echo $(( 1 << ++A ))

と、書き終わった後に試してみたら
カンマ演算子が数値なら使えるみたいなのでこんな風にも書けた。
LANG=POSIX echo -e "\0$(( A=141, $A ))"

387 名前:名無しさん@お腹いっぱい。 [2015/05/14(木) 21:20:45.50 .net]
わるいわるい上記を試したら全然出来なかった。
何度かやってたら偶然できてただけだった。
LANGの設定も意味ないし。



388 名前:名無しさん@お腹いっぱい。 [2015/05/14(木) 21:24:38.73 .net]
そっかそっか以下て出来た。
echo -e "\0$(( A=101, A ))"

389 名前:名無しさん@お腹いっぱい。 [2015/05/14(木) 21:41:00.34 .net]
>>357
力技ではこんなのがある。
a=(a b c)
b=$(printf "%c\0" $a |sed 's#\o0$##') # なんか変数に一度いれないと無理だね。
c ()
{
echo $1
echo $1 |tr '\0' ' '
}
c $b

390 名前:名無しさん@お腹いっぱい。 [2015/05/14(木) 22:08:07.89 .net]
hashでもいける。

typeset -A a
a=(A a B b C c)
printf "%s\n" ${(k)a}| while read
do
printf "$REPLY\0%s\0" $a[$REPLY]
done |sed 's#\o0$##' |read b

391 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 21:04:50.03 .net]
>>383
;でいいじゃんと言ってみる。

392 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 21:38:41.50 .net]
echo ${A::="A"}

393 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 22:00:08.19 .net]
>>389
>>390
b は c "$( ... )" で消せるんじゃない?
あと、↓ でもいいような。
c ${(pj:\0:)a}
c ${(kvpj:\0:)a}

394 名前:名無しさん@お腹いっぱい。 [2015/05/15(金) 23:33:19.93 .net]
書いてみるものだね。プロ達が見たこと無い技を教えてくれた。
そんな簡単にできるんだ。あってると思います。
偉い人はいいよな、こっちなんて直すの面倒からまだそのまま使ってるけれど、
こういうのを実現するのに中間file使って、m4使ってやってたよ。
私の.zshenvは糞コードで埋め尽くされてるな。
まあ糞コードは好きだけどね。それshellで書けますけど的なね。
教えてくれてありがとう。

395 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 07:35:45.92 .net]
なるほどなるほど、psとpjがsplitとjoinのようだ。
typeset -A a
a=( A a B b C 'c c' )

echo ${(k)a} # keyを出力する。
echo ${(kv)a} # keyも値も出力する。

b=${(pj:\0:)a} # 空白を区切りに\0で結合する。
echo $b
echo ${(ps:\0:)b} # \0を区切りに分ける。

b=${(kvpj:\0:)a}
typeset -A c
c=( ${(ps:\0:)b} ) # 値に空白が含まれていても、マクロ的に処理されるわけでなく
# 一つの値として処理される。こういう所が他のshellと違うよね。

396 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 07:41:10.37 .net]
あーごめんごめんjoinの説明がおかしいね。空白を区切りにしてるわけではなく
他と一緒で値を区切りにしてくれてると思う。

397 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 08:17:20.05 .net]
# 変数が空、または値がなければ、1として置き換える。
echo ${a:-1}
echo $a
a=2
echo ${a:-1}
echo $a; unset a
# 上記の判定で、変数宣言がされている場合は置き換えないのが以下。:が無いだけ。
typeset a
echo ${a-1}
a=2
echo ${a:-1}
echo $a; unset a


# 変数が空、または値がなければ、指定された変数aに1を代入する。 *1
echo ${a:=1}
echo $a
echo ${a:=2} # *2
echo $a
# 上記に加え、脚注*2 変数aに値が入っていても、値を上書きして定義するのが以下。
echo ${a::=2}
echo $a; unset a
# 脚注*1 の判定で、変数宣言がされている場合は代入しないのが以下。:が無いだけ。
typeset a
echo ${a=1}
a=2
echo ${a=1}
echo $a; unset a

# 他にもあるけれど勉強はここまでにする。



398 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 08:24:55.71 .net]
--- 2ch.orig 2015-05-16 08:09:21.000000000 +0900
+++ 2ch.diff 2015-05-16 08:11:22.000000000 +0900
@@ -8,7 +8,7 @@
typeset a
echo ${a-1}
a=2
- echo ${a:-1}
+ echo ${a-1}
echo $a; unset a

399 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 08:25:56.09 .net]
時間のズレは仕様です。

400 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 09:16:31.98 .net]
あとそっか
> b は c "$( ... )" で消せるんじゃない?
確かにその通りでした。

後言葉が変でまだ知らない人達に、混乱を招いてしまうかも。
変数が空 false
変数が無い true

変数宣言 false
変数定義 true

401 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 09:22:11.77 .net]
しかし"$()"の動作が思ってるより不思議だ。いつか勉強しとこう。

402 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/16(土) 16:35:35.13 .net]
ps:\0: は 0 でいいけど、逆(pj:\0:)がないんだよね。f F と違って。
うーん、この非対称性。

403 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/19(火) 20:23:42.65 .net]
setopt hist_ignore_space
alias fg=' fg'
しててもCtrl-pを押したときはfgが出てきてしまうのですが、
出てこないようにするにはどうすればいいでしょうか?

404 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 19:51:22.09 .net]
直後も出ないようにってこと?

405 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/23(土) 22:06:31.50 .net]
直後も出ないのが希望です

406 名前:名無しさん@お腹いっぱい。 [2015/05/24(日) 17:35:41.65 .net]
根本的な解決ではないが、新しい機能をkeyへ割り当てる事で要求はこなせる。
ここではalternateとp keyの組み合わせに、新しい機能を割り当てようと思う。
これは設定によってpの先頭に^[をつけるとかは変わる部分だが、
大体その設定になっているだろうと思う。
履歴をさかのぼるのが^Pだとしたら、
bindkey -s '^[p' '^P^P'
見ての通り二回分履歴をさかのぼっているだけになる。

ちなみに^P^Pの後に\rを書けば即座に実行する事となる。
当然これは危険である。
cd hoge
rm *
cd
ここで実行しまうと再帰的にショックを受ける事になる。
試したいのであれば、
bindkey -s '^[p' 'pwd\r'
などとすると良いでしょう。

407 名前:名無しさん@お腹いっぱい。 [2015/05/24(日) 22:40:53.58 .net]
ん、以下をfileに書いて実行すると動くのは理解できるのだけれど、
一番最後の行の\を一つ無くして「eval echo \$$a[B][2]」とすると
fileに書いて実行した時は動かないけれど、promptから打っていった場合動いてしまう。
typeset -A a
a=(B b)
eval $a[B]+=\( c d \)
eval echo \$$a[B]\[2]



408 名前:名無しさん@お腹いっぱい。 [2015/05/25(月) 00:10:55.57 .net]
なるほど、そもそも以下をfileから実行した場合とpromptから
打ち込んだ時の挙動が違ったからか。
a=(abc)
echo a[1][1]

409 名前:名無しさん@お腹いっぱい。 [2015/05/25(月) 00:11:47.31 .net]
$を書くのを忘れてた。

410 名前:名無しさん@お腹いっぱい。 [2015/05/25(月) 05:02:29.03 .net]
scriptからだとこうしないと表示できない。
echo \[1]
echo '[2]'
echo "[3]"
promptからだと大丈夫、さらに1だけ表示が違う。
echo [1]
echo [2]
echo [3]

411 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/27(水) 23:33:40.25 .net]
setopt noglob とかしてんじゃないの

412 名前:名無しさん@お腹いっぱい。 [2015/05/28(木) 00:04:41.47 .net]
>>411
ありがとうございます。noglob設定したら確かに直りました、
確認した所1ってfileが転がってました。

しかしよくすぐ気付くものだと感心しますな、最初の配列はきっと特別なんだろうな、
何かしでかしてんだろうなと覚書してまたわ。

413 名前:名無しさん@お腹いっぱい。 [2015/05/28(木) 00:21:08.64 .net]
そっか、そもそもglobというのが頭の中からすっぽり消えてた。
恥ずかしながら。出直してきます。

414 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/06/07(日) 09:29:46.03 .net]
zsh-5.0.8のprintfで-フラッグが効かないんだけど、他にもなる人いる?
こんな感じ。

$ builtin printf '%-20s' 'hoge'
       hoge

$ command printf '%-20' 'hoge'
hoge

415 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/06/07(日) 16:44:20.74 .net]
zsh 5.0.7 (amd64-portbld-freebsd8.4) でもおなじ

416 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/06/07(日) 17:33:24.91 .net]
>>415
あれ、おかしいな?俺は5.0.7まで正常(左詰めされる)だったんだけど…。
ちょっとrevertしてみるわ。

417 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/06/07(日) 17:45:27.15 .net]
やっぱり5.0.7だと大丈夫っぽい。
パッケージ作成時の設定も変わってないみたいなのになんでだろう。

$ zsh --version
zsh 5.0.7 (x86_64-unknown-linux-gnu)

$ zsh -c 'builtin printf "%-20s" "hoge"'
hoge

$ zsh -c 'command printf "%-20s" "hoge"'
hoge

とりあえずは5.0.7で様子見することにします。



418 名前:416 mailto:sage [2015/06/07(日) 19:53:10.73 .net]
ごめん、ちゃんと読んでなかった。うちでも、5.0.7だと正常(左詰めされる)でした。
zsh 5.0.8 (amd64-portbld-freebsd8.4) だと右詰になります。

419 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/06/07(日) 20:46:57.13 .net]
>>418
どうもです。となるとzshのバグですかね。
どなたかzsh-usersに報告されてました。

www.zsh.org/mla/users/2015/msg00609.html

というわけで、修正が来るまで?待つことにします。
お騒がせしました。






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

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

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