!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
シェルスクリプトに関する総合スレッドです。
スレ立て時は以下の文を先頭行に加えて下さい。
後のつけ忘れ防止の為に複数行重ねて追加推奨
!extend:on:vvvvv:1000:512
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 3efb-m2E0)
2018/09/22(土) 11:53:21.38ID:BBiLRgnj0195デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/05(金) 03:52:16.47ID:DwOdckeN0196デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 08:48:03.27ID:bSHFQ9XI0 >>195
ストリーミング指向と制御文はあまり関係ないと思うよ
流れてくるものに対してなにか処理をしたいなら必ず
制御文を使うことになるし
ストリーミング指向の話をするなら、関数呼び出しし結果の標準出力を
変数にキャプチャするっていうのはストリーミング指向と反してると思う
例えば result=$(command "$data") みたいな形のことね
俺もこの書き方はなるべく避けるようになった
ストリーミング指向的には echo "$data" | command | 別のなにか
とするほうが良いだろう
ただ気づいたのがこの形だとサブシェルになってしまうから、
commandや別のなにかから、呼び出しの起点にデータを戻すことが
簡単にはできないという所。値を戻すこと自体がストリーミングの流れに反しているし
かと言ってそれが必要な場合もある。例えば処理した行数をカウントしたりとかね。
なので最近はイベントハンドラ方式を使うようになった
echo "$data" | command "別のなにか(関数名)" (または command "$data" "別のなにか")
例えばだけどこんな感じにして、commandで$dataを1行ずつ処理して
その都度、別のなにか(関数)を呼び出す。そうするとサブシェルにはならないので
ストリーミングで処理しつつ、グローバル変数経由で呼び出し元に結果を返すことができる
この時、別の何かがシェル関数の場合に、commandが外部コマンドだとシェル関数を呼び出せないので
連鎖的にcommandもシェル関数として実装。みたいなこともやってたりする
ストリーミング指向と制御文はあまり関係ないと思うよ
流れてくるものに対してなにか処理をしたいなら必ず
制御文を使うことになるし
ストリーミング指向の話をするなら、関数呼び出しし結果の標準出力を
変数にキャプチャするっていうのはストリーミング指向と反してると思う
例えば result=$(command "$data") みたいな形のことね
俺もこの書き方はなるべく避けるようになった
ストリーミング指向的には echo "$data" | command | 別のなにか
とするほうが良いだろう
ただ気づいたのがこの形だとサブシェルになってしまうから、
commandや別のなにかから、呼び出しの起点にデータを戻すことが
簡単にはできないという所。値を戻すこと自体がストリーミングの流れに反しているし
かと言ってそれが必要な場合もある。例えば処理した行数をカウントしたりとかね。
なので最近はイベントハンドラ方式を使うようになった
echo "$data" | command "別のなにか(関数名)" (または command "$data" "別のなにか")
例えばだけどこんな感じにして、commandで$dataを1行ずつ処理して
その都度、別のなにか(関数)を呼び出す。そうするとサブシェルにはならないので
ストリーミングで処理しつつ、グローバル変数経由で呼び出し元に結果を返すことができる
この時、別の何かがシェル関数の場合に、commandが外部コマンドだとシェル関数を呼び出せないので
連鎖的にcommandもシェル関数として実装。みたいなこともやってたりする
197デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 17:11:32.63ID:bSHFQ9XI0 10. 移植性のあるシェルプログラミング
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
198デフォルトの名無しさん (ワッチョイ 2abe-selW)
2018/10/05(金) 21:16:49.85ID:NK5dBb8n0 >>196
なるほど。
俺は
https://www.ipsj.or.jp/dp/contents/publication/32/S0804-R1601.html
ここの3.1.1を読んで、制御文をなるべく使わない方向に開発をシフトしてみたんだよね。
まあどうしても必要な部分はあなたも云ってる通りもちろんあるけど。
なるほど。
俺は
https://www.ipsj.or.jp/dp/contents/publication/32/S0804-R1601.html
ここの3.1.1を読んで、制御文をなるべく使わない方向に開発をシフトしてみたんだよね。
まあどうしても必要な部分はあなたも云ってる通りもちろんあるけど。
199デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:20:34.66ID:Sfai+wMy0 >>198
別にその記事に大きく反対したいわけじゃないけど
おかしな点は指摘しておかないといけない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因はストリーミング型コーディングのせいじゃない
rmコマンドの発行回数が原因だ
■手続き型コーディング(ステップ数が多く処理効率が低い)
i=3
while [ $i -le 10000 ]; do
file="file${i}.txt"
rm -f "$file" # 何度もrmコマンドを実行している
i=$((i+3))
done
結果
real 0m3.232s
user 0m2.488s
sys 0m0.808s
■ストリーミング型コーディング
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
結果
real 0m0.040s
user 0m0.004s
sys 0m0.040s
別にその記事に大きく反対したいわけじゃないけど
おかしな点は指摘しておかないといけない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因はストリーミング型コーディングのせいじゃない
rmコマンドの発行回数が原因だ
■手続き型コーディング(ステップ数が多く処理効率が低い)
i=3
while [ $i -le 10000 ]; do
file="file${i}.txt"
rm -f "$file" # 何度もrmコマンドを実行している
i=$((i+3))
done
結果
real 0m3.232s
user 0m2.488s
sys 0m0.808s
■ストリーミング型コーディング
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
結果
real 0m0.040s
user 0m0.004s
sys 0m0.040s
200デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:23:22.22ID:Sfai+wMy0 プロセスが分かれており並列で動く可能性があるから
多少ストリーミング型の方が早くはなるとは思うが
以下のように修正すると差は殆ど無くなる。
■手続き型コーディング修正版
i=3
files() {
while [ $i -le 10000 ]; do
file="file${i}.txt"
echo $file
i=$((i+3))
done
}
rm -f $(files)
結果
real 0m0.052s
user 0m0.018s
sys 0m0.044s
余談だがこれはLinuxで実行した結果だがforkが遅いWSLだと
起動プロセスが多い分逆転するかもしれない
多少ストリーミング型の方が早くはなるとは思うが
以下のように修正すると差は殆ど無くなる。
■手続き型コーディング修正版
i=3
files() {
while [ $i -le 10000 ]; do
file="file${i}.txt"
echo $file
i=$((i+3))
done
}
rm -f $(files)
結果
real 0m0.052s
user 0m0.018s
sys 0m0.044s
余談だがこれはLinuxで実行した結果だがforkが遅いWSLだと
起動プロセスが多い分逆転するかもしれない
201デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:41:27.69ID:Sfai+wMy0 訂正
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因は手続き型コーディングのせいじゃない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因は手続き型コーディングのせいじゃない
202デフォルトの名無しさん (ワッチョイ 2abe-selW)
2018/10/06(土) 10:50:18.29ID:10V4sLOp0 >>200
非本質的だけど
rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
尤も手元の機械では
$ getconf ARG_MAX
2097152
だったので無問題かも知れないけど。
非本質的だけど
rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
尤も手元の機械では
$ getconf ARG_MAX
2097152
だったので無問題かも知れないけど。
203デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 11:49:41.89ID:Sfai+wMy0 >>202
> rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
あるよ。それならxargsを使えばいいし、
xargsはファイルから読み込む方法もあるからパイプ使わなくても使える。
ともかく速さの理由はストリーミング型コーディングではないと言いたかっただけ
だいたいawkの中に書いてあるコードは手続き型だろといいたいし、
ステップ数だってちょっと書き方変えれば、大差ないってのがわかるだろう
i=3; while [ $i -le 10000 ]; do rm -f "file${i}.txt"
i=$((i+3)); done
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
> rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
あるよ。それならxargsを使えばいいし、
xargsはファイルから読み込む方法もあるからパイプ使わなくても使える。
ともかく速さの理由はストリーミング型コーディングではないと言いたかっただけ
だいたいawkの中に書いてあるコードは手続き型だろといいたいし、
ステップ数だってちょっと書き方変えれば、大差ないってのがわかるだろう
i=3; while [ $i -le 10000 ]; do rm -f "file${i}.txt"
i=$((i+3)); done
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
204デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:00:55.51ID:9DLOHMhB0 お題
関数fooに対して3つ以上の引数を渡した時、1番目と2番目の引数を入れ替え以下の例のように出力せよ
(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
2
1
3
4
5
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
関数fooに対して3つ以上の引数を渡した時、1番目と2番目の引数を入れ替え以下の例のように出力せよ
(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
2
1
3
4
5
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
205デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:03:41.18ID:9DLOHMhB0 あ、いかん。>>204は簡単な解答があるわw
ちょっと修正する
ちょっと修正する
206デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:13:43.37ID:9DLOHMhB0 お題(>>204の訂正版)
次のような関数barがある。
bar() { echo 'begin'; printf '%s\n' "$@"; echo 'end'; }
3つ以上の引数を渡した時、1番目と2番目の引数を入れ替えて関数barを呼び出す関数fooを作成し
以下の例のような出力をせよ(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
[出力]
begin
2
1
3
4
5
end
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
次のような関数barがある。
bar() { echo 'begin'; printf '%s\n' "$@"; echo 'end'; }
3つ以上の引数を渡した時、1番目と2番目の引数を入れ替えて関数barを呼び出す関数fooを作成し
以下の例のような出力をせよ(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
[出力]
begin
2
1
3
4
5
end
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
207デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:18:54.69ID:9DLOHMhB0 余談だが、
func() { printf '%s\n' "begin$@end";} という関数の時、
func 1 2 3 4 5 って書いたら
begin1
2
3
4
5end
func 3 って書いたら
begin3end
って表示されるんだよな。
理解はできるが、なんか不思議だ
func() { printf '%s\n' "begin$@end";} という関数の時、
func 1 2 3 4 5 って書いたら
begin1
2
3
4
5end
func 3 って書いたら
begin3end
って表示されるんだよな。
理解はできるが、なんか不思議だ
208デフォルトの名無しさん (ワッチョイ 969f-vBoO)
2018/10/08(月) 03:36:26.64ID:tKqgyITq0209デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 18:41:40.22ID:IMi/szTI0 func -a --foo file1 -b file2 -c --bar
みたいな、オプションとファイル名が交互に来てるときに
オプションを全部解析し終わってから
ファイルに対して処理を実行していくのってけっこう大変なんだな
forで回すのもwhileで回すのも一筋縄ではいかない
もちろんbashなんかの配列を使わないという前提
みたいな、オプションとファイル名が交互に来てるときに
オプションを全部解析し終わってから
ファイルに対して処理を実行していくのってけっこう大変なんだな
forで回すのもwhileで回すのも一筋縄ではいかない
もちろんbashなんかの配列を使わないという前提
210デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 18:48:20.63ID:IMi/szTI0 func -a --foo foo1 file1 -b file2 -c --bar
あ、例えば、foo1は--fooはパラメータ、のようなものが有る場合だった
-で始まる or 始まらないだけで見分けるならまだ簡単
あ、例えば、foo1は--fooはパラメータ、のようなものが有る場合だった
-で始まる or 始まらないだけで見分けるならまだ簡単
211デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/08(月) 18:50:15.77ID:NcWFD+EU0 そもそもそんな指定の仕方ありうる?
ありえない状況を想定してヤキモキするのは非生産的だと思うんだけど……。
ありえない状況を想定してヤキモキするのは非生産的だと思うんだけど……。
212デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 19:10:00.18ID:IMi/szTI0213デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/08(月) 20:52:36.04ID:NcWFD+EU0214デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 21:02:29.11ID:IMi/szTI0 >>213
そういうこと
そういうこと
215デフォルトの名無しさん (ワッチョイ 969f-XQ2D)
2018/10/08(月) 23:31:18.49ID:tKqgyITq0 GNUのgetoptのロングのやつ使えればなんとかなるんじゃないか?
216デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/09(火) 02:27:08.37ID:cJ7fFqob0 これでいいな。
$ getopt --options 'a,b,c' --longoptions 'foo:,bar' -- -a --foo foo1 file1 -b file2 -c --bar
$ getopt --options 'a,b,c' --longoptions 'foo:,bar' -- -a --foo foo1 file1 -b file2 -c --bar
217デフォルトの名無しさん (アウアウカー Sa0a-v2gR)
2018/10/09(火) 02:29:18.52ID:i1ZCVGtYa 195から207まで丸ごと吹っ飛んでんだがどんだけレスバトルしてたんだ
見る気もないが
見る気もないが
218デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/09(火) 07:22:02.82ID:UgeI4/Dm0 >>216
Macでは動きませんでした
Macでは動きませんでした
219デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/09(火) 07:51:19.69ID:cJ7fFqob0220デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/09(火) 07:55:02.13ID:UgeI4/Dm0 >>219
だからMacのgetoptはGNUのgetpotではないから動かないって言ったんだけど?
だからMacのgetoptはGNUのgetpotではないから動かないって言ったんだけど?
221デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/09(火) 07:57:18.12ID:UgeI4/Dm0 GNUのgetoptなら動く。そうでないなら動かないと言われても、
どの環境がGNUのgetoptかなんてわからないでしょう?
GNUのgetoptがほとんどの環境で使われているなら問題ないが
使われてな環境は多いかもしれない。そしてそれがMacという形で
現実になったということを書いたんだけど
どの環境がGNUのgetoptかなんてわからないでしょう?
GNUのgetoptがほとんどの環境で使われているなら問題ないが
使われてな環境は多いかもしれない。そしてそれがMacという形で
現実になったということを書いたんだけど
222デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/09(火) 07:58:09.40ID:cJ7fFqob0223デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/09(火) 08:18:38.20ID:UgeI4/Dm0 やはりgetoptは可搬性は皆無か
日本語でgetoptでぐぐるとこれが上の方に出てくるけど
相変わらずの、qiitaクオリティってことでいいのかな?
https://qiita.com/b4b4r07/items/dcd6be0bb9c9185475bb
> 一般に 使用される getopt のテンプレートは以下です。
>
> getopt.sh
> set -- 'getopt ad: "$@"'
初っ端からおかしいし。バッククォート書いたつもりが、シングルクォートに化けた?
しかもset --じゃだめだろうと思ってたら、後半では正しい書き方してたが
> OPT=`getopt -o ab:c --long long-a, long-b:,long-c -- "$@"`
> 略
> eval set -- "$OPT"
で、次
> getopt には重大な落とし穴があります。それは、スペースや特殊文字が
> 引数に含まれていた場合、正しく処理できないということです。
特殊文字まではやってないが、スペース入れても普通に動いたんだが?
デフォルトでクォートされてるよな?
man getoptすると「伝統的なgetoptの実装では 〜略〜 空白 〜略〜 使うことができない 〜略〜
この実装ではクォートした出力を生成する」ってことは(この記事で言及できないほど)最近対応したのか?
それはそれとしてクォート方法の指定ができて、shとbash(違いあるの?)があるからシェルごとに
使い分けなきゃいけない気がしていやなんだが
ま、この記事のBSD系ではロングオプション非対応っていうのはgetoptを候補からすばやく外すのには役に立ったなw
GNU版ならもう少し色々できることがわかったが、やはり大変だな。今回は書かなかったがサブコマンド対応とか。
あとgetopt使っても自前処理でもコードの量に大差ないってのはなんなだろう?と前から思っている
日本語でgetoptでぐぐるとこれが上の方に出てくるけど
相変わらずの、qiitaクオリティってことでいいのかな?
https://qiita.com/b4b4r07/items/dcd6be0bb9c9185475bb
> 一般に 使用される getopt のテンプレートは以下です。
>
> getopt.sh
> set -- 'getopt ad: "$@"'
初っ端からおかしいし。バッククォート書いたつもりが、シングルクォートに化けた?
しかもset --じゃだめだろうと思ってたら、後半では正しい書き方してたが
> OPT=`getopt -o ab:c --long long-a, long-b:,long-c -- "$@"`
> 略
> eval set -- "$OPT"
で、次
> getopt には重大な落とし穴があります。それは、スペースや特殊文字が
> 引数に含まれていた場合、正しく処理できないということです。
特殊文字まではやってないが、スペース入れても普通に動いたんだが?
デフォルトでクォートされてるよな?
man getoptすると「伝統的なgetoptの実装では 〜略〜 空白 〜略〜 使うことができない 〜略〜
この実装ではクォートした出力を生成する」ってことは(この記事で言及できないほど)最近対応したのか?
それはそれとしてクォート方法の指定ができて、shとbash(違いあるの?)があるからシェルごとに
使い分けなきゃいけない気がしていやなんだが
ま、この記事のBSD系ではロングオプション非対応っていうのはgetoptを候補からすばやく外すのには役に立ったなw
GNU版ならもう少し色々できることがわかったが、やはり大変だな。今回は書かなかったがサブコマンド対応とか。
あとgetopt使っても自前処理でもコードの量に大差ないってのはなんなだろう?と前から思っている
224デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/09(火) 13:51:30.72ID:cJ7fFqob0 parsargコマンドみたいなのを再発明したほうが早いかもね
GNU getoptと同じ(もしくはもうちょっと拡張)挙動でかつ可搬なのを。
GNU getoptと同じ(もしくはもうちょっと拡張)挙動でかつ可搬なのを。
225デフォルトの名無しさん (スッップ Sdff-ehAa)
2018/10/15(月) 14:55:49.61ID:Q15q2Q7Cd 質問しようと思ったけど初心者の俺にはレベル高い話ばかりで恥ずかしいぜ、、
226デフォルトの名無しさん (ワッチョイ 7f98-9/x8)
2018/10/15(月) 15:15:36.15ID:9UZy+Ppr0 どうぞどうぞ
227デフォルトの名無しさん (スッップ Sdff-ehAa)
2018/10/15(月) 15:50:29.54ID:Q15q2Q7Cd ありがとう
やりたいことは、環境を判定して対象の環境にある複数サーバーに対して一括でコマンド発行したい、です
条件
・A環境とB環境があり、引数でそれぞれ指定し(test.sh A のようにしたい)、シェルスクリプト側でどちらが入力されたか判定する
・サーバーにssh接続するためのIPアドレス等は外部ファイルに記載されているため、環境判定後にファイルを読み込んでsshアクセスする必要がある
・サーバーは両環境それぞれ25台ずつあるが、5台ずつコマンドを発行し、waitしてからまた5台と、塊毎にやりたい
質問1
外部ファイルの指定方法が分からないです
ifで環境を判定してthenの後にファイルを指定すれば良いのか?
質問2
5台ずつ、を実現するためにはwhileで良いのか?
そもそも、sshをまとめてやって後からそれらにコマンド発行ってできるのか
初歩的すぎて恥ずかしい限りですがお願いします
やりたいことは、環境を判定して対象の環境にある複数サーバーに対して一括でコマンド発行したい、です
条件
・A環境とB環境があり、引数でそれぞれ指定し(test.sh A のようにしたい)、シェルスクリプト側でどちらが入力されたか判定する
・サーバーにssh接続するためのIPアドレス等は外部ファイルに記載されているため、環境判定後にファイルを読み込んでsshアクセスする必要がある
・サーバーは両環境それぞれ25台ずつあるが、5台ずつコマンドを発行し、waitしてからまた5台と、塊毎にやりたい
質問1
外部ファイルの指定方法が分からないです
ifで環境を判定してthenの後にファイルを指定すれば良いのか?
質問2
5台ずつ、を実現するためにはwhileで良いのか?
そもそも、sshをまとめてやって後からそれらにコマンド発行ってできるのか
初歩的すぎて恥ずかしい限りですがお願いします
228デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
2018/10/15(月) 15:55:57.71ID:oz1FOCTra どうぞどうぞ
229デフォルトの名無しさん (スッップ Sdff-ehAa)
2018/10/15(月) 16:39:55.24ID:Q15q2Q7Cd230デフォルトの名無しさん (ワッチョイ 7f98-9/x8)
2018/10/15(月) 16:43:11.45ID:9UZy+Ppr0 どういたしまして
231デフォルトの名無しさん (ブーイモ MM0b-LEUL)
2018/10/15(月) 18:26:03.30ID:A4+xGAqjM 僕にも感謝して
232デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
2018/10/15(月) 18:56:32.85ID:3C5NcaRXa >>229
どうやることにしたの?
どうやることにしたの?
233デフォルトの名無しさん (ワッチョイ e776-jM1k)
2018/10/15(月) 20:03:34.75ID:dTacK6h30 ssh ... [command] ができるのがわかったとかじゃないのかな
234デフォルトの名無しさん (ワッチョイ 27eb-ehAa)
2018/10/15(月) 21:27:00.70ID:0gVRdy5i0 >>232
233の言うとおりです
opensshのマニュアル呼んだら、ファイル指定もコマンド発行方法も書いてあったので、それでやることに
あとはifとの組み合わせで頑張ります
まぁつまずいてるんだけど
233の言うとおりです
opensshのマニュアル呼んだら、ファイル指定もコマンド発行方法も書いてあったので、それでやることに
あとはifとの組み合わせで頑張ります
まぁつまずいてるんだけど
235デフォルトの名無しさん (ワッチョイ 07e0-SmB1)
2018/10/15(月) 21:32:13.05ID:E6pr56BO0 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
236デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 12:14:09.96ID:/ofNkRJS0 ksh、関数のオーバーライド、くせっていうかバグあるわ
(foo() { echo 1; }; foo; (foo() { echo 2; }; foo;); foo)
何度実行しても1 2 1 と表示される(想定通り)
foo() { echo 1; }; foo; (foo() { echo 2; }; foo;); foo
最初の1回は1 2 1 と表示されるが、
2回目以降は1 1 1 としか表示されない(2でオーバーライドできなくなる)
(foo() { echo 1; }; foo; (foo() { echo 2; }; foo;); foo)
何度実行しても1 2 1 と表示される(想定通り)
foo() { echo 1; }; foo; (foo() { echo 2; }; foo;); foo
最初の1回は1 2 1 と表示されるが、
2回目以降は1 1 1 としか表示されない(2でオーバーライドできなくなる)
237デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 12:32:51.57ID:/ofNkRJS0 もう一つ。kshで関数の定義の場所でオーバーライドできない
場合があるんだが原因がよくわからない。
多分これ関連なんだろうけど
https://github.com/modernish/modernish/blob/master/libexec/modernish/cap/BUG_FNSUBSH.t
これはメインシェルの定義がある場合、サブシェルの中での定義が無視されるということだから、
サブシェルの中で定義していれば、その中のサブシェルではオーバーライドできると解釈できる
たしかに>>236はそのとおりの動きはしてる
もう一つの問題も同じなんだろうか、定義の順番を変えればうまくいくんだが
サブシェルに関しては定義の順番を変えても同じだと思うんだけどなぁ。
.コマンドを使ってるのが関係してるのかなんだこりゃって感じだ
場合があるんだが原因がよくわからない。
多分これ関連なんだろうけど
https://github.com/modernish/modernish/blob/master/libexec/modernish/cap/BUG_FNSUBSH.t
これはメインシェルの定義がある場合、サブシェルの中での定義が無視されるということだから、
サブシェルの中で定義していれば、その中のサブシェルではオーバーライドできると解釈できる
たしかに>>236はそのとおりの動きはしてる
もう一つの問題も同じなんだろうか、定義の順番を変えればうまくいくんだが
サブシェルに関しては定義の順番を変えても同じだと思うんだけどなぁ。
.コマンドを使ってるのが関係してるのかなんだこりゃって感じだ
238デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 12:40:28.86ID:/ofNkRJS0 もう一つの問題は、ちょっとコードが入り組んでて調べるのが面倒くさい。
なんでこれで解決したのかわかってない状況だが、今のところ動いているので
まあなにかわかったら書くよw
なんでこれで解決したのかわかってない状況だが、今のところ動いているので
まあなにかわかったら書くよw
239デフォルトの名無しさん (スッップ Sd8a-YVHm)
2018/10/18(木) 16:05:20.75ID:q7k/ngFed 初心者です、while文の質問です
このようなスクリプトがあったとします
a=0
while [ $a -le 50 ]
do
a=`expr $a +1`
echo "${a}個目
done
とやると、50個目まで表示されると思いますが、この数値が5の倍数の時だけ、echoで表示させたあとsleepを入れるようにするには、contiuneを使えばよい?
それともifでやる?
よくわからず
このようなスクリプトがあったとします
a=0
while [ $a -le 50 ]
do
a=`expr $a +1`
echo "${a}個目
done
とやると、50個目まで表示されると思いますが、この数値が5の倍数の時だけ、echoで表示させたあとsleepを入れるようにするには、contiuneを使えばよい?
それともifでやる?
よくわからず
240デフォルトの名無しさん (アウアウカー Safb-nHS7)
2018/10/18(木) 16:38:15.26ID:hfM3a7YWa >>239
continue はループ内のその後の処理を飛ばすやつだからできないと思うが。
普通に if 使ってやるしかないのでは?
if [ `expr $a % 5` -eq 0 ] ; then sleep 1 ; fi
とか、done の直前に入れる。
continue はループ内のその後の処理を飛ばすやつだからできないと思うが。
普通に if 使ってやるしかないのでは?
if [ `expr $a % 5` -eq 0 ] ; then sleep 1 ; fi
とか、done の直前に入れる。
241デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 17:31:05.73ID:/ofNkRJS0242デフォルトの名無しさん (アウアウカー Safb-nHS7)
2018/10/18(木) 17:40:57.72ID:hfM3a7YWa あ。そうか。なるほど。
243デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 17:41:55.70ID:/ofNkRJS0 ついでだから書いておくと、
a=`expr $a +1` でも大差ないだろ?と思った人
WSLの酷さがわかるぞ
たった50回のループ、sleepを行わない状態で
a=$((a+1)) だと 約0.025秒なのに、
a=`expr $a +1` だと 約0.5秒にもなるのだ
10000回のループだと
a=$((a+1)) だと 約0.1秒のところ、
a=`expr $a +1` だと 約90秒
早くWSLのfokの遅さが解決すると良いな
a=`expr $a +1` でも大差ないだろ?と思った人
WSLの酷さがわかるぞ
たった50回のループ、sleepを行わない状態で
a=$((a+1)) だと 約0.025秒なのに、
a=`expr $a +1` だと 約0.5秒にもなるのだ
10000回のループだと
a=$((a+1)) だと 約0.1秒のところ、
a=`expr $a +1` だと 約90秒
早くWSLのfokの遅さが解決すると良いな
244デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 17:43:58.54ID:/ofNkRJS0 × [ $(($a % 5)) = 0 ] && sleep 1
○ [ $((a % 5)) = 0 ] && sleep 1
書き込む前に気づいて直したと思ったんだがコピペミスったか
上でも動かないわけではない。無駄なだけ
○ [ $((a % 5)) = 0 ] && sleep 1
書き込む前に気づいて直したと思ったんだがコピペミスったか
上でも動かないわけではない。無駄なだけ
245デフォルトの名無しさん (ワッチョイ 6a7c-fIkj)
2018/10/18(木) 17:56:39.61ID:uRBurQVb0 > [ $((a % 5)) = 0 ]
新旧混ぜんなw
arithmetic使うなら、そのままevaluation記法にしてしまえばいい。
((...))
あと、旧testでの数値比較は-eqを使え。
新旧混ぜんなw
arithmetic使うなら、そのままevaluation記法にしてしまえばいい。
((...))
あと、旧testでの数値比較は-eqを使え。
246デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 18:24:07.81ID:/ofNkRJS0247デフォルトの名無しさん (ワッチョイ 6a7c-fIkj)
2018/10/18(木) 18:35:46.85ID:uRBurQVb0 ((a % 5 == 0))&& ...
なんで一々ここまで言わんとわからんような奴が、他人の指摘しているんだろうかね。。。
-eqでの数値比較とか基本中の基本だろうに。
なんで一々ここまで言わんとわからんような奴が、他人の指摘しているんだろうかね。。。
-eqでの数値比較とか基本中の基本だろうに。
248デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 18:50:03.03ID:/ofNkRJS0 >>247
$ dash -c 'a=0; ((a % 5 == 0)) && echo ok'
dash: 1: a: not found
$ dash -c 'a=0; (($a % 5 == 0)) && echo ok'
dash: 1: 0: Permission denied
なぜかって?
その書き方はPOSIX準拠じゃないもの
https://github.com/koalaman/shellcheck/wiki/SC2039#standalone-
$ dash -c 'a=0; ((a % 5 == 0)) && echo ok'
dash: 1: a: not found
$ dash -c 'a=0; (($a % 5 == 0)) && echo ok'
dash: 1: 0: Permission denied
なぜかって?
その書き方はPOSIX準拠じゃないもの
https://github.com/koalaman/shellcheck/wiki/SC2039#standalone-
249デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 18:56:56.93ID:/ofNkRJS0 動かないコード出されて、偉そうにされても
やれやれって言うしか無いわなw
やれやれって言うしか無いわなw
250デフォルトの名無しさん (アウアウカー Safb-nHS7)
2018/10/18(木) 19:33:42.29ID:9i8IzX+1a (( )) ではなく [[ ]] では?
251デフォルトの名無しさん (ワッチョイ 7b98-usPd)
2018/10/18(木) 19:37:12.04ID:/ofNkRJS0 [[ ]] もPOSIX準拠ではない
252デフォルトの名無しさん (アウアウカー Safb-6CEe)
2018/10/18(木) 22:39:25.80ID:3W2GDYvfa またぽっじくすか
253デフォルトの名無しさん (ワッチョイ dbeb-YVHm)
2018/10/19(金) 00:21:19.12ID:0zKHBU8T0254デフォルトの名無しさん (ワッチョイ 26e7-iIDB)
2018/10/19(金) 01:23:10.99ID:JmLVta5V0 cat file.txt | ( head; tail) は最高
255デフォルトの名無しさん (ワッチョイ f398-usPd)
2018/10/20(土) 02:22:05.90ID:V0y1IBp60 >>224
> parsargコマンドみたいなのを再発明したほうが早いかもね
違うもの調べてて、こういうのを見つけた。
見つけたってだけでどんなものかは調べていない
http://zentoo.hatenablog.com/entry/20110708/1310124831
> ちょっとした理由でgit-flow (https://github.com/nvie/gitflow) のソースを
> ちょっとちょっと眺めていたんだけど、内部でコマンドライン引数を
> パースするためにshflagsというツールが使われていたのでメモ。
> parsargコマンドみたいなのを再発明したほうが早いかもね
違うもの調べてて、こういうのを見つけた。
見つけたってだけでどんなものかは調べていない
http://zentoo.hatenablog.com/entry/20110708/1310124831
> ちょっとした理由でgit-flow (https://github.com/nvie/gitflow) のソースを
> ちょっとちょっと眺めていたんだけど、内部でコマンドライン引数を
> パースするためにshflagsというツールが使われていたのでメモ。
256デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/20(土) 06:26:18.72ID:EzXK/x1W0 >>254
おまえらなんでそんなに猫が好きなん?
おまえらなんでそんなに猫が好きなん?
257デフォルトの名無しさん (ワッチョイ 3bfb-6CEe)
2018/10/20(土) 12:30:19.19ID:o8LOHz9N0 それを疑問に思う人間に説明するのは困難だ
258デフォルトの名無しさん (オッペケ Srb3-iHQf)
2018/10/20(土) 12:37:11.93ID:MzLaXRRvr 猫好きてそんなに言語化しにくい複雑怪奇な感情持っとるんか?
259デフォルトの名無しさん (ワッチョイ 3bfb-6CEe)
2018/10/20(土) 12:43:08.81ID:o8LOHz9N0 例えば女をみて欲情しない人間に、なぜ欲情するのかを説明するのは難しいだろう
言葉を並べるだけなら本能だとか体の特徴なんかを言えるが、共感はされまい
つまりそれを疑問に感じる人間には、その時点ですでに納得させる言葉がないのだ
言葉を並べるだけなら本能だとか体の特徴なんかを言えるが、共感はされまい
つまりそれを疑問に感じる人間には、その時点ですでに納得させる言葉がないのだ
260デフォルトの名無しさん (オッペケ Srb3-iHQf)
2018/10/20(土) 12:48:37.62ID:MzLaXRRvr でもそもそも説明するのが困難なのやろ?
おまえが言ったんやで
おまえが言ったんやで
261デフォルトの名無しさん (ワッチョイ f398-usPd)
2018/10/20(土) 12:55:36.75ID:V0y1IBp60 おい、スレと無関係な話をして荒らすな
262デフォルトの名無しさん (ワッチョイ 3bfb-6CEe)
2018/10/20(土) 12:56:11.89ID:o8LOHz9N0 なぜ説明するのが困難かを説明したつもりだったんだが
263デフォルトの名無しさん (ワッチョイ f398-usPd)
2018/10/20(土) 13:01:22.08ID:V0y1IBp60264デフォルトの名無しさん (ワッチョイ 2aa2-k6PT)
2018/10/20(土) 14:52:07.13ID:ZWcyeiuM0 お前がつまんねーんだよ
265デフォルトの名無しさん (アウアウカー Safb-6CEe)
2018/10/20(土) 14:54:50.53ID:2nu5r9gua なんかレス番飛んだけどなんだこれ
266デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/20(土) 16:25:12.28ID:EzXK/x1W0267デフォルトの名無しさん (ワッチョイ 2aa2-k6PT)
2018/10/20(土) 17:00:11.18ID:ZWcyeiuM0 なんか遠いレスの番号という意味じゃないの。てか、なんで噛み付いているんだか
268デフォルトの名無しさん (アウアウカー Safb-6CEe)
2018/10/20(土) 17:06:13.46ID:T0X8nuYVa ワッチョイ変わったのになんでNG効いてんだ?と思ったら課題マンだったのか
269デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 03:41:54.16ID:dQhyPQp/0 あるパスがディレクトリで書き込み可能かは、[ -d "$path" ] とか [ -w "$path" ] で調べられるし、
所有者が自分自身であるかは-Gや-Oで調べられますが、
自分以外が読み書き不可能であることをチェックするにはどうしたら良いですかね?
所有者が自分自身であるかは-Gや-Oで調べられますが、
自分以外が読み書き不可能であることをチェックするにはどうしたら良いですかね?
270デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/21(日) 05:19:47.73ID:C+Apg5Hi0 ls
271デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 05:42:25.02ID:dQhyPQp/0 やっぱlsしかないですかね。
このフォーマットって仕様化されてるんですよね
このフォーマットって仕様化されてるんですよね
272デフォルトの名無しさん (ワッチョイ aebe-fIkj)
2018/10/21(日) 06:29:17.52ID:9NX69mCX0 >>271
pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html#tag_20_73_10
pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html#tag_20_73_10
273デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 06:34:56.07ID:dQhyPQp/0 ありがとう。だがオプション多すぎて読むのだりぃw
なんでだろ?どうもlsって解析する気にならないんだよな
人間向けのフォーマットでコンピュータが解釈するのに向いてない感じがしている
どこまでPOSIXで仕様化されてるのか、どこからが拡張なのか、オプション多すぎて(略
関係ないけど、ふと本棚を見たら
「lsを読まずにプログラマを名乗るな!」という本があったw
そういや買ったっけ(未読)
なんでだろ?どうもlsって解析する気にならないんだよな
人間向けのフォーマットでコンピュータが解釈するのに向いてない感じがしている
どこまでPOSIXで仕様化されてるのか、どこからが拡張なのか、オプション多すぎて(略
関係ないけど、ふと本棚を見たら
「lsを読まずにプログラマを名乗るな!」という本があったw
そういや買ったっけ(未読)
274デフォルトの名無しさん (ワッチョイ 2aa2-k6PT)
2018/10/21(日) 06:42:08.88ID:xQoMnSHc0 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html
STDOUTに記述があるんだからそうじゃね
STDOUTに記述があるんだからそうじゃね
275デフォルトの名無しさん (ワッチョイ 2aa2-k6PT)
2018/10/21(日) 06:42:50.73ID:xQoMnSHc0 あら被りすぎた。すまん
276デフォルトの名無しさん (ワッチョイ 2aa2-k6PT)
2018/10/21(日) 06:45:46.73ID:xQoMnSHc0 >>273
>>272はPOSIXの仕様。>>269,270,271の目的には
If the -l option is specified, the following information shall be written for files other than character special and block special files:
と
If the -l option is specified, the following information shall be written for character special and block special files:
で書いてあるフォーマットだけだけどね
>>272はPOSIXの仕様。>>269,270,271の目的には
If the -l option is specified, the following information shall be written for files other than character special and block special files:
と
If the -l option is specified, the following information shall be written for character special and block special files:
で書いてあるフォーマットだけだけどね
277デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 07:33:05.64ID:dQhyPQp/0 そういや、macだとlsで
drwxr-xr-x+ や
drwxr-xr-x@ みたいに
後ろになにかくっついていることがあるな
> Implementations may add other characters to this list to represent other implementation-defined file types.
くっつけても良いってことなのか?
drwxr-xr-x+ や
drwxr-xr-x@ みたいに
後ろになにかくっついていることがあるな
> Implementations may add other characters to this list to represent other implementation-defined file types.
くっつけても良いってことなのか?
278デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/21(日) 11:22:28.24ID:C+Apg5Hi0 これだからマカーは馬鹿だと言われるんだなあ...
279デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/21(日) 20:00:09.31ID:0dWokXAIa stat コマンドの出力解析した方が楽ではないか?
または find コマンドの -perm 利用してチェックして -exec でやらせたいことをやらせる。
または find コマンドの -perm 利用してチェックして -exec でやらせたいことをやらせる。
280デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 20:21:13.14ID:dQhyPQp/0281デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/21(日) 22:04:44.47ID:8BH3p2hm0 標準入力の代わりにfileの内容を入力するのに、リダイレクトで
$ <file somecmd
とやる方式ってPOSIXで既定されてるっけ。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_01
このへんに書いてそうなんだけど、それっぽい記述がない?
$ <file somecmd
とやる方式ってPOSIXで既定されてるっけ。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_01
このへんに書いてそうなんだけど、それっぽい記述がない?
282デフォルトの名無しさん (ワッチョイ 269f-nBLa)
2018/10/22(月) 02:54:50.03ID:HyPH6OEy0 >>280
じゃ、find で。
ファイルのパーミッションに 066 を and した時に 0 になるやつでいいのなら
find $dir -prune ! -perm -40 ! -perm -20 ! -perm -4 ! -perm -2 -exec やらせたいこと \;
のようにすればいいのではないかな。
http://pubs.opengroup.org/onlinepubs/9699919799/ で find コマンド見てみたら -perm はあるようなので。
もし GNU の find コマンド使えるようなら -perm /mode が使えて、これは何れかのビットが立っていれば
真になるので ! -perm /66 の一つで出来ると思う。
じゃ、find で。
ファイルのパーミッションに 066 を and した時に 0 になるやつでいいのなら
find $dir -prune ! -perm -40 ! -perm -20 ! -perm -4 ! -perm -2 -exec やらせたいこと \;
のようにすればいいのではないかな。
http://pubs.opengroup.org/onlinepubs/9699919799/ で find コマンド見てみたら -perm はあるようなので。
もし GNU の find コマンド使えるようなら -perm /mode が使えて、これは何れかのビットが立っていれば
真になるので ! -perm /66 の一つで出来ると思う。
283デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/22(月) 03:01:30.80ID:1Kkbm3du0 GNUのfind使っていいという条件なら、GNUのlsやstatでいいじゃんw
284名無しさん@そうだ選挙に行こう! Go to vote! (アウアウウー Sa9f-L0SM)
2018/10/22(月) 10:18:21.67ID:8WYgXfgna その辺はご自由に。POSIX縛りがあってもこの場合にfindも使えるってだけの話なので。ls使いたいならそうすればいい。
285デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/22(月) 14:51:33.47ID:JUwIDQm90 >>281
これ分かる方います?
これ分かる方います?
286デフォルトの名無しさん (JP 0H1b-v9b0)
2018/10/22(月) 16:55:54.61ID:9s+yFzz3H >>281
2.1の5で、リダイレクトの処理をしてパラメーターリストから
除去するって書いてあるのと、
6でコマンド名を第0パラメーターとして渡すって書いてるってことは、
先頭もパラメーターリストの一部と解釈できるから、
暗に、先頭にリダイレクトがあってもいいってことを表してるんでは?
2.1の5で、リダイレクトの処理をしてパラメーターリストから
除去するって書いてあるのと、
6でコマンド名を第0パラメーターとして渡すって書いてるってことは、
先頭もパラメーターリストの一部と解釈できるから、
暗に、先頭にリダイレクトがあってもいいってことを表してるんでは?
287デフォルトの名無しさん (ガックシ 06e6-fIkj)
2018/10/22(月) 19:08:52.43ID:WU2zxBnF6288デフォルトの名無しさん (ガックシ 06e6-fIkj)
2018/10/22(月) 19:09:38.93ID:WU2zxBnF6 あ、ワッチョイもIDも違うけど>>285です。
289デフォルトの名無しさん (ワッチョイ ea98-Pr2h)
2018/10/22(月) 21:35:03.82ID:oF7wf0Ce0 >>118
それはオブジェクト指向の話じゃない
C++の話だ
そもそもテンプレートやジェネリックは、型を明確にすることでバグを少なくしたり
速度を速くするためのもので、オブジェクト指向における問題点を解決するための追加機能
テンプレートやジェネリックを使うことでオブジェクト指向が不要になるのではなく
オブジェクト指向と組み合わせて使うことで問題点が改善される
テンプレートはオブジェクト指向と組み合わせずに使えたと思うが、
テンプレートの殆ど(ジェネリックは全て)はオブジェクト指向なしに使うことはできない
それはオブジェクト指向の話じゃない
C++の話だ
そもそもテンプレートやジェネリックは、型を明確にすることでバグを少なくしたり
速度を速くするためのもので、オブジェクト指向における問題点を解決するための追加機能
テンプレートやジェネリックを使うことでオブジェクト指向が不要になるのではなく
オブジェクト指向と組み合わせて使うことで問題点が改善される
テンプレートはオブジェクト指向と組み合わせずに使えたと思うが、
テンプレートの殆ど(ジェネリックは全て)はオブジェクト指向なしに使うことはできない
290デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/22(月) 21:47:50.25ID:oF7wf0Ce0 あ、書き込まれてないと思ったら書き込む場所間違えてたのかw
291デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/22(月) 23:23:26.53ID:oF7wf0Ce0292デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/23(火) 13:27:19.16ID:QwHjyvjPa シェルというか tar コマンドの問題なんだけど、tar tvf でアーカイブに入っているファイルのタイムスタンプを秒単位まで出す方法ある?
Linux で GNU tar のmanページ見た感じではなさそうなんだけど、やはり自作するしかないなかな。
Linux で GNU tar のmanページ見た感じではなさそうなんだけど、やはり自作するしかないなかな。
293デフォルトの名無しさん (ワッチョイ 2a23-8h48)
2018/10/23(火) 14:12:45.60ID:mYtscksw0 >>292
tar --full-time ...
tar --full-time ...
294デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/23(火) 14:38:56.39ID:QwHjyvjPa >>293
おお!ありがとう。新しい GNU tar にあるね。
最初CentOS6で試しててわからなかった。これは GNU tar 1.23 だ。
CentOS7は GNU tar 1.26 になっててこちらでは出来るしmanページにも書いてあった。
おお!ありがとう。新しい GNU tar にあるね。
最初CentOS6で試しててわからなかった。これは GNU tar 1.23 だ。
CentOS7は GNU tar 1.26 になっててこちらでは出来るしmanページにも書いてあった。
295デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/23(火) 15:22:22.26ID:cKF5Z2eR0 CentOS 6はそろそろサポート切れるんじゃないかしら
余計なお世話だが移行したほうがいいんでは
余計なお世話だが移行したほうがいいんでは
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【窪田順生氏】「高市政権人気の裏には多数の“弱者感を抱えた男”の存在がある」弱者感を抱えた男は人知れずマイルド右翼に… [おっさん友の会★]
- 【サッカー】カズ・三浦知良 来季も現役続行を明言! 来年2月に59歳 「12月から来季に向けての自主トレを予定してます」 [冬月記者★]
- 【調査】クレジットカード、1人何枚持つのが「平均的」?★3 [ひぃぃ★]
- 【テレビ】池上彰氏 報道の自由度が高い国の特徴「どんどん政府を批判する。政治家は受け入れる」 一方独裁国家は… [冬月記者★]
- 【国防】防空ミサイル(中SAM) 輸出検討へ 政府、フィリピンと非公式協議 [シャチ★]
- 宮崎あおい「電子レンジ持ってない」“丁寧な暮らし”を告白「ごはんを温め直すときも蒸し器」に「凄すぎ」の声 [muffin★]
