トップページ > Linux > 2019年09月18日 > hb4qCmCH

書き込み順位&時間帯一覧

3 位/112 ID中時間01234567891011121314151617181920212223Total
書き込み数0001200100000000000000004



使用した名前一覧書き込んだスレッド一覧
login:Penguin
380
CentOS Part 50【RHEL Clone】
【Bash】Windows Subsystem for Linux【WSL】6

書き込みレス一覧

CentOS Part 50【RHEL Clone】
616 :login:Penguin[]:2019/09/18(水) 03:51:42.10 ID:hb4qCmCH
ttps://wiki.centos.org/About/Building_7
2019-09-17 Release complete.
7.7 リリース来た!

ダウンロードページは7.6だけど、サーバーはミラーまでもう7.7のiso上がってる
ttp://ftp.riken.jp/Linux/centos/7.7.1908/isos/x86_64/
【Bash】Windows Subsystem for Linux【WSL】6
383 :380[sage]:2019/09/18(水) 04:36:09.12 ID:hb4qCmCH
>>382
具体的にって言ってもやってる事が違うから、どれ位、参考になるか分からんぞ。長文
ビルトイン使う例として、
 dir=$(dirname $path);
 file=$(basename $path)
 ext=$(echo $path | sed -E 's/^.*\.([^\.]+)$/\1/g')
みたいにしてたのを
 dir=${path:h}
 file=${path:t}
 ext=${path:e}
にするとか

sedやtr使ってた所で正規表現なしでもいけるのは${%%}${:#}${//}とかで置き換えたり
大文字小文字変換とかも変数の展開フラグでできる
正規表現が必要な所は、1箇所にまとめた上で、パイプじゃなくて、;でつなぐとか
 ret=$(echo $base | sed -E 's/aaa/bbb/g;s/ccc/ddd/g;y/abc/ABC/')
パーツパーツでコピペで使いまわしにくくなるけど、forkは減らせる
文字列検索とかもgrepなしで変数展開フラグでいける

文字列のjoinでj:使うとか
 before=(a b c d)
 after="'"${(j:', ':)before}"'"
 echo $after # 'a', 'b', 'c', 'd'
他にも配列も検索とか、和差積とかも出来る

find使ってる所も結構ビルトインで行ける
 for zip in $(find . -name '*.zip');do 〜 ;done
  ↓
 for zip in **/*.zip;do 〜 ;done
GLOBSTARSHORTつけてたら**.zipでOK

続く
【Bash】Windows Subsystem for Linux【WSL】6
384 :380[sage]:2019/09/18(水) 04:38:11.72 ID:hb4qCmCH
続き
変数名の局所化の為にサブシェル使う所も、zshなら無名関数でいける(forkしない)
local ret;
(){
 local tmp=$1 tmp2=$2
 〜なんか変数使って処理
 ret=$tmp3
} $base1 $base2

ビルトインとか配列検索や文字列置換とかはmanの14,15章に載ってる。これ流し読みして、ビルトインで行ける所を洗い出す。日本語は多分ない。
ttp://zsh.sourceforge.net/Doc/Release/index.html
情報量はドキュメントに比べると少ないけど参考になった日本語サイト
変数とかフラグとか:ttps://gist.github.com/sho-t/d9cdf8271b3de7c4238739e523490542
findを使わないファイル検索:ttps://qiita.com/mollifier/items/1c4a4930a89aa75e5ced
配列操作:ttps://qiita.com/mollifier/items/f897b3fddd2d10369333

コンパイルが有効な場合もある。これをファイルの頭に入れとくと更新時だけ自動でコンパイルする(勿論手動でやっても良い)
(){
 local srcFile
 for srcFile in ${1:h}/*.sh; do
  local zwc="$srcFile"'.zwc'
  if [ ! -e $zwc -o "$srcFile" -nt "$srcFile"'.zwc' ]; then
   zcompile "$srcFile"
  fi
 done
} $0
この場合ファイルを分割してsourceしてるから、for文で回してるけど、スクリプトが1つのファイルなら、forはいらない。単純に$0に.zwcつけたのだけやれば良い

ファイルのキャッシュは特殊な処理だから参考にはならんと思うから省略。一般的に使えるのは、>>で何度も書き込むんじゃなくて、変数に入れて一気に書き込むとか(データ量と搭載メモリによっては逆効果)
ファイルアクセスを細かくやるとウイルスチェックが異常に重いから、実行時はリアルタイム保護切った方が良い

結論。面倒。過去の資産を使いまわすのでなければLLでやった方が良い
CentOS Part 50【RHEL Clone】
619 :login:Penguin[sage]:2019/09/18(水) 07:26:51.57 ID:hb4qCmCH
>>618
どゆこと?まさか、マイナーとは言えディストリのアップグレードをcronで自動実行してるって事?
アグレッシブすぎるだろ……


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。