[過去ログ] zsh その6 (986レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
906: 2012/02/07(火)00:22 AAS
>>890
bash にも既にあるってフレーズはよくきくからそうなんだろうなー、って思ったけど
ちなみに bash で multios ってどうやんの?
やり方がわからなかった。
907: zsh初心者 ◆./pq9ARSgM 2012/02/07(火)00:24 AAS
けんかはやめて(´・ω・`)
908: 2012/02/07(火)01:30 AAS
>>889-890はどうみてもクソコテのクソ質問を適当にあしらってるだけだろ
909: 2012/02/07(火)02:12 AAS
だとして >>893 は要らんけどな。
910: 2012/02/07(火)02:39 AAS
>>885
それなら
echo hoge >file1 >file2 >/dev/tty
じゃないか?これだと抽象度に欠けるが。
echo hoge >file1 >file2 |cat
が解りやすいけど cat とか書きたくなければ
echo hoge 3>&1 >file1 >file2 1>&3
省13
911: 2012/02/28(火)22:50 AAS
2012-02-23 : Release 4.3.17
Complete fixes from last release.
912: 2012/03/02(金)23:20 AAS
2行目ってどう訳すん?
913: 2012/03/03(土)08:40 AAS
2行目は動詞がない名詞区。fixesは3単現の s じゃなくて、fixの複数形。
あとはわかるな。
914(2): 2012/03/03(土)09:27 AAS
主語のIかWeが省略されてるんじゃないかな
completeは動詞でfixesが名詞
訳すと「この前のリリースからの(バグ等の)修正を完了したよ」
915(1): 2012/03/03(土)09:30 AAS
主語がないと訳せない人がいるのか
ニュアンスでわかんないものかねぇ
916(1): 2012/03/03(土)09:48 AAS
いや、completeは形容詞として訳して欲しい。全体で箇条書風の名詞句。
917(1): 2012/03/03(土)09:50 AAS
>>914
completeを動詞と考えると、現在形なのはおかしいね。
なので >>916 説に1票。
918: 2012/03/03(土)10:05 AAS
>>917
ああ言われてみれば確かにおかしい。というわけでリリースノート見てきた
外部リンク[html]: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説に改説します
省1
919(1): 2012/03/03(土)10:50 AAS
4.3.16で直し方が半端だったバグがあって、それを完全に修正したってこと?
920: 2012/03/03(土)13:41 AAS
はい
921: 2012/03/03(土)16:35 AAS
zshの設定って面倒くさいな
zshの本読んでたら頭痛くなってきた・・・
うまく構成して見やすいドキュメント整えた配布版ってないの
922: 2012/03/03(土)16:44 AAS
デフォルトでも十分に便利だと思うが。。。
923: 2012/03/03(土)17:14 AAS
oh-my-zshでも使ったら。
924: 2012/03/03(土)20:49 AAS
更に面倒だよ...
925: 2012/03/04(日)01:23 AAS
大丈夫か。辛いなら fish とか使ったら。今どうなってんのか知らんけど。
>>915
いやー主語はどうでもいいんだけどニュアンスでしか読めなかったから
あんまり考えずに聞いてみた。
ニュアンスで読んだら見当違いの内容も浮かんだんでね。
>>919
どっちかというと 4.3.16 に対して完全にバグ修正しかしてないよってことじゃないかな。
926: 2012/03/09(金)03:35 AAS
fish初めて知ったわw
悪くなさそうだが最終更新が2009年・・・
927: 2012/03/09(金)14:06 AAS
fishと名のつくシェルは fish.x しか知らんかった。
928(2): 2012/03/17(土)19:56 AAS
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: 2012/03/17(土)21:17 AAS
どうじゃろ?
930: 2012/03/17(土)22:20 AAS
root の設定が悪いとか
931: 928 2012/03/18(日)00:45 AAS
「sudo -u 自分 -s」 で自分のアカウントになっても同じっす。
CentOS5.7でそうなる一方、CentOS6.2では出ない。
でも、どちらもzsh4.3.17をソースからビルドしてるし、.zsh*自体も同じなんだよなぁ。
932(1): 2012/03/18(日)01:35 AAS
ググって最初に出てきたものくらいは当然試してるだろうけど、
「試したけど駄目だった」くらいは書け
> Remove ~/.zcompdump and restart zsh.
933: 928 2012/03/18(日)02:16 AAS
>>932
実は.zcompdump消すのは試してたんだけど、問題がでたりでなかったりで
よく分からずじまいだった。・・・で、今一度調べてやっと分かりました。
.zprofileにて
if [[ $SHELL == /bin/zsh ]] ;then
SHELL=$HOME/bin/zsh
exec $SHELL
省5
934(2): 2012/03/21(水)23:26 AAS
以下のようなディレクトリ構成のところで、hoge下にdir1/dir2へのシンボリックリンクがあるとします。
$tree hoge
hoge
|-- dir1
| |-- dir2
| |-- dir3
| `-- dir4
省5
935(1): 2012/03/21(水)23:38 AAS
setopt chaselinks ?
936: 934 2012/03/23(金)00:19 AAS
>>935
それだと「cd dir2」でdir1/dir2に移動するだけなんで、やりたいことと違います。
937(1): 2012/03/24(土)04:19 AAS
こんな方向でどか
_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 2012/03/24(土)18:36 AAS
>>937
非常に申し訳ないですけど、さすがにそれは使う気がしないですw
でも、ありがとうございます。
939: 2012/03/24(土)22:21 AAS
それは残念。でもないか。
よく知らないけど、多分 cd の補完処理を直さないと無理じゃないかな。
ワーキングディレクトリのシンボリックリンクを残して path を辿るのは
cd の特殊な仕様みたいだけど、
cd の補完がそれを考慮せず通常の path 補完をしているようだ。
なんで _cd を直すか cd の compdef を対応版に変える必要がある
…ように見える。
940: 2012/03/24(土)22:27 AAS
関係ないけど compadd の -P と -p の違いがよくわからない。
なんか前調べた気もするけどなんだったかな…
941(1): 2012/03/27(火)22:42 AAS
今日rsyncを使ってて妙なことに遭遇したのですが、zshスクリプトにおいて
ディレクトリのコピーを以下のようにしていたところ、たまにrsyncのコピーが
正しくなされないことが分かりました。
while :;do
rsync -av dir.org/ dir
〜dir内のファイルを書き換える処理〜
done
省7
942: 2012/03/30(金)11:06 AAS
AA省
943: 2012/03/31(土)00:58 AAS
dir内の〜 がなにかによるんじゃないの。
つーか dir が dest なんだよね。それだとコピーしない気がするけど、するんだね。
rsync はよーしらんから勘違いしてるかな。
944: 941 2012/03/31(土)21:41 AAS
すいません、自己解決しました。以下、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で言った@とAも勘違いでした。
省1
945(1): 2012/04/27(金)23:45 AAS
ls とかのソートって unsetopt numeric_glob_sort の場合は以下の順ですよね?
特殊文字( _ を除く)
数字
大文字
_
小文字
実は、あるホストへ自宅からログインすると上記の通りなのが、
省4
946(1): 2012/04/27(金)23:58 AAS
>>945
> 大文字
> _
> 小文字
> たとえば、A _b C というファイルがA C _b の順でソートされます。
大文字 大文字 _ の順になってる ってのは正常な動作じゃないのか?
947: 2012/04/28(土)00:11 AAS
>>946
すいません、間違えました。以下の意味に訂正します。
「辞書順で A C _B となるのが、A _B C となってしまう」
948(1): 2012/04/28(土)00:34 AAS
LC_COLLATEの値は?
949(1): 2012/04/28(土)14:06 AAS
>>948
自宅からの接続ですが、空でした。
こうなったら、自宅からと職場からとで環境変数が同じかどうか調べるしかないですね。
ところで「 _ 」って特殊文字には入らないんですかね?
950: 2012/04/28(土)17:38 AAS
LC_COLLATEをみるなら
それより優先されるLC_ALLと
最後の砦のLANGも見ないと…
951: 2012/04/28(土)21:22 AAS
>>949
ていうか ascii 順でしょ。
952(1): 2012/04/28(土)21:32 AAS
$ LC_COLLATE=en_US.UTF-8 ls
a _a b _b
$ LC_COLLATE=C ls
_a _b a b
953: 2012/04/28(土)21:59 AAS
てか、「lsとかのソート」の時点でzshもsetoptも関係なくね?
954: 2012/04/28(土)22:08 AAS
そうは思ったがきっとglobの展開のことだと汲み取ってあげたい。
955: 2012/04/28(土)22:10 AAS
lsは表示するファイルを自力でソートしているのでlsの問題。
(directory entryの出現順のままソートせずに表示するオプションがある)
glob展開の結果の順序はシェルの問題。
956(1): 2012/04/28(土)22:15 AAS
$ LC_COLLATE=en_US.UTF-8 zsh -c 'echo *'
a _a b _b
$ LC_COLLATE=C zsh -c 'echo *'
_a _b a b
957: 2012/04/30(月)00:17 AAS
最近はzshあんま更新されてないし、bashのがいいってまじ?
958: 2012/04/30(月)07:45 AAS
そろそろ5を出そうかというタイミングで何言ってるんだ?
959(2): 2012/05/04(金)23:55 AAS
>>952
>>956
両方 _a _b a b になるじゃねーか。試しちまった。
960(1): 2012/05/05(土)11:39 AAS
>>959
え? お前の環境変だろ。LC_ALL設定してしまってるとか。
961: 2012/05/05(土)12:00 AAS
en_US ロカールが定義されているか、未定義かで変わる?
962: 2012/05/05(土)12:10 AAS
各地域ロケールの内容ってどこかで決まってたりするの? 環境依存だと思ってた。
963(2): 2012/05/05(土)12:12 AAS
>>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
省1
964: 2012/05/05(土)12:21 AAS
多分、en_US localeをインストールしてない環境ってオチ。それならLC_COLLATE=C と同じになって当然。
965: 963 2012/05/05(土)13:42 AAS
うちの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(1): 963 2012/05/05(土)13:52 AAS
$ strings =zsh | grep strcoll
少なくとも strcoll は呼んでないわー。 libiconvとかはリンクしてるけど。
967(1): 2012/05/05(土)22:53 AAS
>>960
片方 a _a b _b になるじゃねーか。LC_ALL設定失念しちまった。
なにこれ _a を 1文字として扱ってるの?
>>966
% echo $ZSH_VERSION
4.3.17
% strings =zsh | grep strcoll
省1
968: 2012/05/06(日)04:10 AAS
>>967
configure 次第か。
969(2): 2012/05/13(日)00:17 AAS
以下のように拡張子の前の数字を取り除きたいのですが、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"に変換しようとして失敗します。
省1
970: 2012/05/13(日)00:22 AAS
>>>969
basename使うわけにはいかないの?
971: 2012/05/13(日)02:07 AAS
いつも for で zmv 使ってないから知らんけど '(*)<->.mp3' じゃないか?
多分それ re じゃないよ。
972(1): 2012/05/13(日)10:25 AAS
それだと
(hoge12)3.mp3
になるぜ
973: 2012/05/13(日)12:02 AAS
自分も普段は for 文を使っちゃうけど
zmv '(*)[0-9]##.mp3' '$1.mp3'
とかでいいのかな。まあ便利なのかもw
974: 2012/05/13(日)12:06 AAS
ああ>>972と同じになってしまうのか
zmv '(*).mp3' '${1%%[0-9]##}.mp3'
かな?
975: 2012/05/13(日)15:41 AAS
おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3'
976: 2012/05/13(日)16:34 AAS
そうか shortest match flag とかはないんだな。
うーん *(#c,)<-> で落ちる。こんなパターン使わないけど。
977(1): 969 2012/05/13(日)17:35 AAS
ありがとうございます。
>zmv '(*).mp3' '${1%%[0-9]##}.mp3'
でうまく行きました。
これは$1のうちの%%と##で挟まれた正規表現を取り除くという書式なのでしょうか?
>おお、たしかに。こうする必要があるか。 '(*[^[:digit:]])<->.mp3'
<-->はどういう処理ですか? こちらは使いかたがよく分かりませんでした。
すみません。zmvのパラメータについて解説しているサイトはありませんか? zmvの書式が難しくて。
978(1): 2012/05/13(日)18:03 AAS
man zshcontrib
979: 2012/05/13(日)19:04 AAS
>>978
ありがとうございます。
man zmvで見つからない、とか思っていたので。
980(1): 2012/05/13(日)21:42 AAS
>>977
man zshexpn すれば詳しいことが載っているが ${name%%pattern} と x## の組み合わせだよ
前者はシェルスクリプト一般でよく使われる
<-> は <[x]-[y]> の特殊例で数字にマッチする
981: 2012/05/15(火)01:08 AAS
>>980
ありがとうございます。
ようやく理解できました。
982(1): 2012/05/15(火)19:43 AAS
man zshall しかうたないな
983: 2012/05/16(水)01:24 AAS
>>982
俺もman zshall派
でもそうすると目当てのものみつけにくいんだよなw
984: 2012/05/16(水)01:34 AAS
使うのは zshall でも人に示すときは絞る
昔から言われてるけど zsh 関係のドキュメントは読み物としては面白くないな
985: 2012/05/16(水)23:36 AAS
言われてた気もするけど今思うに特別そうでもない
986: 2012/05/17(木)12:33 AAS
うん。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s