シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
FreeBSDユーザは/bin/shの正体がashなので注意。
v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
「そういうのはperl使いましょう」と回答するのはやめましょう。
安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その25
http://echo.2ch.net/test/read.cgi/unix/1439563321/
探検
シェルスクリプト総合 その26 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2017/03/20(月) 12:07:26.41
2018/05/03(木) 17:54:41.55
2018/05/03(木) 19:24:32.42
この人は問題を解きたいんじゃなくて
問題を自分のルールで解かせたいだけなんだと思う
問題を自分のルールで解かせたいだけなんだと思う
2018/05/03(木) 19:33:59.23
自分のルールってなんのことや?
2018/05/03(木) 20:13:25.91
そうじゃなくて呈示されたコードの完成度が低くて、かつ
自分で作ったコードが要件を満たしていたから「お前ら馬鹿ばっかだな」になるんでしょう?
自分で作ったコードが要件を満たしていたから「お前ら馬鹿ばっかだな」になるんでしょう?
989名無しさん@お腹いっぱい。
2018/05/03(木) 20:15:23.07 ただのお子ちゃまやないかw
間違っとる言われてボクは間違ってないてすねとるだけやでw
間違っとる言われてボクは間違ってないてすねとるだけやでw
2018/05/03(木) 20:27:22.30
2018/05/03(木) 20:28:19.18
いまいち誰が誰だかなわからない追うのめんどくさすぎなのに、論評続けるねえ
質問内容に文句つけ続けのオッサン:一理あるが、一理でしかない。しつこいわっ
質問したヤツ:自力で解いたとかウザいわ。だったら最初から質問すんなwおっさんの一理を理解して素直に受け取れ
質問内容に文句つけ続けのオッサン:一理あるが、一理でしかない。しつこいわっ
質問したヤツ:自力で解いたとかウザいわ。だったら最初から質問すんなwおっさんの一理を理解して素直に受け取れ
2018/05/03(木) 20:37:05.47
>自力で解いたとかウザいわ。だったら最初から質問すんなw
書いた途端に解が分かったとかザラにあるだろ
お騒がせしました、とか書けない人格はアレだけど
書いた途端に解が分かったとかザラにあるだろ
お騒がせしました、とか書けない人格はアレだけど
2018/05/03(木) 20:38:34.10
2018/05/03(木) 20:58:18.53
能力はありそうに見えるのにもったいないよね。ああいうので仕事を失しなうってのは。
俺の同僚にも居たわ。正直に言って、俺より優秀だったのに人当たりが強すぎてやんわり退職させられて
先月会ったらトビやりながら独学でコーディングしてるらしい
俺の同僚にも居たわ。正直に言って、俺より優秀だったのに人当たりが強すぎてやんわり退職させられて
先月会ったらトビやりながら独学でコーディングしてるらしい
995名無しさん@お腹いっぱい。
2018/05/05(土) 15:07:28.61 すいません。すごく細かいことなんですが、
シェルの変数に関する展開で、
${somevar:-otherstring}
という、somevarに変数が格納されていなればotherstringを変数の値として採用するという仕組みがありますよね。
ここにコマンド展開が使えるということに最近気がつきました。
${somevar:-$(somecommand)}
これは、展開の順序としては
I. コマンド展開→変数の展開
somecommandがresultを返し、${somevar:-result}になってresultが展開される
のか、
II. 変数の展開→コマンド展開
${somevar:-$(somecommand)}が$(somecommand)になってresultが返る
のか、
どちらか分かりますか?
ぶっちゃけ、この違いが影響するような状況に遭遇したことがないのですが、よりよいシェルスクリプトの理解の為にどうかよろしくおねがいします。
シェルの変数に関する展開で、
${somevar:-otherstring}
という、somevarに変数が格納されていなればotherstringを変数の値として採用するという仕組みがありますよね。
ここにコマンド展開が使えるということに最近気がつきました。
${somevar:-$(somecommand)}
これは、展開の順序としては
I. コマンド展開→変数の展開
somecommandがresultを返し、${somevar:-result}になってresultが展開される
のか、
II. 変数の展開→コマンド展開
${somevar:-$(somecommand)}が$(somecommand)になってresultが返る
のか、
どちらか分かりますか?
ぶっちゃけ、この違いが影響するような状況に遭遇したことがないのですが、よりよいシェルスクリプトの理解の為にどうかよろしくおねがいします。
2018/05/05(土) 15:36:58.33
IIなんじゃねーの(鼻くそホジホジ)
2018/05/05(土) 23:01:08.19
somecommandを副作用のあるコマンド(touchとかrmとか)にしでsomevarがある状態とない状態でそれぞれどうなるか比べてみればいい。たぶんIIだと思うが。
2018/05/06(日) 01:02:57.40
2018/05/06(日) 10:46:14.65
echo 999
1000名無しさん@お腹いっぱい。
2018/05/06(日) 10:46:54.81 exit 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 411日 22時間 39分 28秒
新しいスレッドを立ててください。
life time: 411日 22時間 39分 28秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国海軍の空母艦載機が空自戦闘機に断続的にレーダー照射 空対空の照射は初公表 [七波羅探題★]
- 中国海軍の空母艦載機が空自戦闘機に断続的にレーダー照射 空対空の照射は初公表★2 [七波羅探題★]
- 【サッカー】上田綺世が衝撃の4ゴール&PK奪取の大暴れ!驚異のリーグ戦15戦18発、オランダの日本人最多得点記録を更新 [征夷大将軍★]
- 中国が世界生産の7割握るレアアース、日本企業への輸出手続きに遅れ…日中関係悪化で「揺さぶり」指摘も [ぐれ★]
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★8 [ぐれ★]
- 【福島】「イケそうな気がした」カラオケ店で無理やり10代女性にキス 自称・医師の男(25)を現行犯逮捕 郡山市 [ぐれ★]
- 京アニ青葉真司47歳「ハルヒは人を狂わせる魔性の作品、出会わなければ事件を起こさなかった」
- 初体験の相手の名前書いて消えろ [903775116]
- なぜ昭和天皇は太平洋戦争をやめなかったの?
- 🏡𝑯𝒐𝒖𝒔𝒆🏡
- アメリカ「日本などの同盟国は数年内に軍事費GDP比5%にしろ」「役割を果たさなければ厳しい結果に直面することになる」 [903292576]
- 【悲報】女「セックス好きな女などいない。仕方なくしてるだけ」女2「セックス好きな女性の口塞ぐなよ!」 [802034645]
