- 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で自動実行してるって事? アグレッシブすぎるだろ……
|