- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/20(月) 12:07:26.41 .net]
- シェルスクリプトの総合スレです。
□お約束 ・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。 FreeBSDユーザは/bin/shの正体がashなので注意。 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。 src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/ heirloom.sourceforge.net/sh.html ・csh/tcshのシェルスクリプトは推奨されません。 (理由は「csh-whynot」でググれ) ・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 manや参考リンクを見ましょう。 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 ・シェルで使えるワイルドカード等は正規表現ではありません。 正規表現の話題はスレ違い(正規表現スレへ) ・シェルスクリプトのことをシェルってゆーな □初心者へのアドバイス: ・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも awkまたはperlの方が適した処理にはそちらを使いましょう。 ・知らないコマンドが出てきたらmanを引きましょう。 ・思い通りに動かないときは、まずは sh -x でトレースしましょう。 □回答者への注意事項: ・シェルスクリプトでの処理方法を質問しているのに、よくわからずに 「そういうのはperl使いましょう」と回答するのはやめましょう。 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。 前スレ シェルスクリプト総合 その25 echo.2ch.net/test/read.cgi/unix/1439563321/
- 1020 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 20:28:19.18 .net]
- いまいち誰が誰だかなわからない追うのめんどくさすぎなのに、論評続けるねえ
質問内容に文句つけ続けのオッサン:一理あるが、一理でしかない。しつこいわっ 質問したヤツ:自力で解いたとかウザいわ。だったら最初から質問すんなwおっさんの一理を理解して素直に受け取れ
- 1021 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 20:37:05.47 .net]
- >自力で解いたとかウザいわ。だったら最初から質問すんなw
書いた途端に解が分かったとかザラにあるだろ お騒がせしました、とか書けない人格はアレだけど
- 1022 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 20:38:34.10 .net]
- >>995
一行目は問題にしてない、全く。言う通りだし 二行目を問題にしてる、ほぼそれが全部
- 1023 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 20:58:18.53 .net]
- 能力はありそうに見えるのにもったいないよね。ああいうので仕事を失しなうってのは。
俺の同僚にも居たわ。正直に言って、俺より優秀だった
- 1024 名前:フに人当たりが強すぎてやんわり退職させられて
先月会ったらトビやりながら独学でコーディングしてるらしい [] - [ここ壊れてます]
- 1025 名前:名無しさん@お腹いっぱい。 [2018/05/05(土) 15:07:28.61 .net]
- すいません。すごく細かいことなんですが、
シェルの変数に関する展開で、 ${somevar:-otherstring} という、somevarに変数が格納されていなればotherstringを変数の値として採用するという仕組みがありますよね。 ここにコマンド展開が使えるということに最近気がつきました。 ${somevar:-$(somecommand)} これは、展開の順序としては I. コマンド展開→変数の展開 somecommandがresultを返し、${somevar:-result}になってresultが展開される のか、 II. 変数の展開→コマンド展開 ${somevar:-$(somecommand)}が$(somecommand)になってresultが返る のか、 どちらか分かりますか? ぶっちゃけ、この違いが影響するような状況に遭遇したことがないのですが、よりよいシェルスクリプトの理解の為にどうかよろしくおねがいします。
- 1026 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/05(土) 15:36:58.33 .net]
- IIなんじゃねーの(鼻くそホジホジ)
- 1027 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/05(土) 23:01:08.19 .net]
- somecommandを副作用のあるコマンド(touchとかrmとか)にしでsomevarがある状態とない状態でそれぞれどうなるか比べてみればいい。たぶんIIだと思うが。
- 1028 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/06(日) 01:02:57.40 .net]
- >>1000
おぉう。そんな手があったとは。勉強になります。 おっしゃる通りIIでした。 somevarに変数が格納されている時、somecommandは実行されませんでした。
- 1029 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/06(日) 10:46:14.65 .net]
- echo 999
- 1030 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/06(日) 10:46:54.81 .net]
- exit 1000
- 1031 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 411日 22時間 39分 28秒
- 1032 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|