シェルスクリプト総合 その29

レス数が1000を超えています。これ以上書き込みはできません。
2018/09/22(土) 11:53:21.38ID:BBiLRgnj0
!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
2019/01/18(金) 09:04:38.86ID:vsGuf730a
その本は知らんがawkは使える
2019/01/18(金) 12:00:20.35ID:hbAtvXtm0
>>916
スレチ
あるなら嫁
100円以上出す価値はない
2019/01/19(土) 01:03:50.64ID:0IErEZcU0
gawk(4以降)を使わないなら昔のawk本で勉強してもいいと思う。
2019/01/19(土) 02:01:46.56ID:fE346DRA0
256本って、役に立つことも書いてあるネタ本だろう?
勉強ってw
2019/01/19(土) 07:54:11.84ID:AOD6Gi8l0
「256倍」のAWKって,POSIX awkともちょっと違うんだよねw
だからあんまり真に受けないほうがいい
922デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/19(土) 20:03:41.30ID:AuMD8hxP0
真にうけるの意味を知らんバカ、笑う
2019/01/19(土) 23:00:56.72ID:Kq2NO2td0
>>922
そういうしょうもない言いがかりでマウント取りたがる奴のほうが
今の時代みっともないと笑われがちだけどね
2019/01/19(土) 23:07:49.10ID:+IqL7b8U0
>>923
>>923
925デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/19(土) 23:50:22.30ID:AuMD8hxP0
言いがかりの意味を知らんバカ、ガチ
926デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/19(土) 23:51:10.14ID:AuMD8hxP0
てかバカてなんでシェルだとどおにかなると思っとるん?
2019/01/20(日) 02:31:28.62ID:2YimV45u0
↑意味不明なことを言い出し始めたぞ?
2019/01/20(日) 06:00:57.22ID:mVpLWWyp0
5ch とかで○○の意味ガーとか言う奴はアスペか基地外だから放置しとけ
2019/01/20(日) 09:22:33.90ID:yjbEV8Owa
ようやく俺と同じ意見の奴を5chで見つけた
930デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/20(日) 18:32:53.82ID:wKV5+GB/0
バカ戸惑っとるやんw
931デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/20(日) 19:44:46.86ID:wKV5+GB/0
シェルは簡単やけどシェルがおまえバカのを補える訳とちゃうでw
2019/01/20(日) 21:42:45.99ID:EDhkDxLO0
シェルスクリプト程難しいプログラミング言語も珍しい
933デフォルトの名無しさん (ワッチョイ 09c5-VA2m)
垢版 |
2019/01/20(日) 22:05:16.75ID:wKV5+GB/0
いまだにシェルのことシェルスクリプトと言い張るバカおるんやなw
934デフォルトの名無しさん (ワッチョイ 9b02-7XZ4)
垢版 |
2019/01/21(月) 09:59:58.31ID:+0V9hUvv0
シェルスクリプトと言うからおかしくなるんであって
バッチプログラムと言った方が良くない?
スクリプトと言うほど大袈裟でもないんだけどね
2019/01/21(月) 10:16:19.43ID:J1WbOjYrM
scriptが台本のことだと知っていれば、シェルスクリプトこそ正当なスクリプトだろ。
そのあとperlスクリプトとか呼ばれてあの手の言語がスクリプト言語に分類され、
ただのインタプリタ系プログラムまでスクリプトに含められてしまった。
2019/01/21(月) 10:51:13.07ID:uncS2Ppy0
>>935
そんなこと言ったら「プログラム」もおかしいよね
プログラムは式次第って意味だから「関数型プログラミング言語」なんて意味が通らない
式次第って意味と乖離が少なかったのはそれこそFORTRANとかだよね。

……って良い出したらキリがないから、別に「Pyhtonスクリプト」と呼んでもいいんじゃね?
2019/01/21(月) 10:54:29.54ID:J1WbOjYrM
そうだね
2019/01/21(月) 11:39:25.83ID:kN5K6Fst0
script kitty
https://i.imgur.com/oMseW2P_d.jpg
2019/01/21(月) 12:26:30.35ID:DqxQvGU+0
>>936
> プログラムは式次第って意味だから

プログラムは運動会のプログラムと一緒で
実行計画だろ?
2019/01/21(月) 12:40:07.37ID:uncS2Ppy0
その実行計画を「式次第」って言うんじゃね?
運動会ではあまり使われないけど
卒業式のプログラムは「式次第」って呼ばれるじゃん。
2019/01/21(月) 12:41:28.01ID:uncS2Ppy0
移植可能なMakefileについての覚書
The Open Groupによると
The best way to provide portable makefiles is to include all of the rules needed in the makefile itself.
The rules provided use only features provided by other parts of this volume of POSIX.1-2017.
The default rules include rules for optional commands in this volume of POSIX.1-2017.
Only rules pertaining to commands that are provided are needed in an implementation's default set.
2019/01/21(月) 13:20:33.70ID:DqxQvGU+0
実行計画のうち特に式典に用いられるのが式次第だろ
式じゃないんだから、単に実行計画で良い
2019/01/21(月) 13:27:38.12ID:kW4uGJLza
知ってんだよォォ
国語の教師かオメーはよォォ
944デフォルトの名無しさん (アウアウウー Sa15-4KIe)
垢版 |
2019/01/21(月) 13:40:03.75ID:chW+Guj1a
>>938
(*´Д`)ハァハァ
2019/01/21(月) 21:36:42.73ID:Z7YPhckpM
>>944
キメーんだよ、クソ人間が
カタカタカタ…
946デフォルトの名無しさん (アウアウウー Sa15-4KIe)
垢版 |
2019/01/22(火) 09:17:01.15ID:J1mDHp9Ya
にゃ
2019/01/22(火) 10:55:23.70ID:L0BlvLx7r
国語の時間はここまでっ!
948デフォルトの名無しさん (オッペケ Sr1d-+JtR)
垢版 |
2019/01/22(火) 12:18:47.44ID:aO6rlwOPr
よーし!今から保健体育の時間な!
949デフォルトの名無しさん (アウアウウー Sa15-4KIe)
垢版 |
2019/01/22(火) 12:32:24.54ID:J1mDHp9Ya
猫のスレができたと聞いて
2019/01/26(土) 17:13:20.64ID:VBVSKLLT0
ほかにも動物の名前のコマンドあるかな。
人の名前はあるけど(man)。
2019/01/26(土) 17:35:41.04ID:t83jnK1u0
fox(狐)はないか
2019/01/26(土) 17:37:42.47ID:t83jnK1u0
錦蛇(python)は入れればあるね。
2019/01/26(土) 21:12:00.09ID:dNFr7KCg0
fishとか
2019/01/26(土) 21:46:39.00ID:VBVSKLLT0
fish言おうと思っとったのに
955デフォルトの名無しさん (ワッチョイ 3dc5-hALj)
垢版 |
2019/01/26(土) 21:48:04.51ID:uSJt/X2/0
俺の方が先にfish言おうとしたんやけどね
2019/01/26(土) 21:53:01.10ID:nfFeNMjGa
俺が言おうとしたのに
957デフォルトの名無しさん (ワッチョイ 3dc5-hALj)
垢版 |
2019/01/26(土) 22:09:06.41ID:uSJt/X2/0
fish知名度高すぎやろwwww
2019/01/26(土) 22:11:42.15ID:Ze1S3jEe0
fish って聞くと x68k の fish の方を連想してしまう
959デフォルトの名無しさん (ワッチョイ 3dc5-hALj)
垢版 |
2019/01/26(土) 22:38:03.41ID:uSJt/X2/0
なんやその受け身の人生アピールw
2019/01/27(日) 01:38:33.38ID:z0hosMYm0
fish、イタリア語でPesciペッシ。
ジョジョで覚えたぞ!
2019/01/27(日) 08:33:27.63ID:Erhv9FPi0
namazuはどう?
2019/01/27(日) 09:14:26.94ID:RsUGZloC0
なんでcatが出てこんのや
2019/01/27(日) 09:16:57.86ID:rwuNPA7J0
950に[ほかにも]とあるから猫は既出でしょ
2019/01/27(日) 17:29:49.17ID:xlSzZYyn0
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_23
ここのNoteに「〈記号〉=〈値〉の形の構文の挙動は未定義である。Kornシェル用いられている」
とあるのですが実際にKornシェルで↑この形の構文はどういう意味なのでしょうか。
965デフォルトの名無しさん (ワッチョイ 415d-FWM4)
垢版 |
2019/01/28(月) 23:54:39.66ID:WFNfoV5R0
あげ
966デフォルトの名無しさん (ワッチョイ 415d-FWM4)
垢版 |
2019/01/28(月) 23:55:04.01ID:WFNfoV5R0
シェルでコマンドの出力結果を(lsなど)データベースに入れたいのですが
どのようにすればいいかわかりますか?
できればその時のIpアドレスも一緒にいれればいいのですが
普通にテキストに入れるには
できないのでしょうか
ディレクトリも入れれば最高です
dbはsqlite3でフィールドはディレクトリ内容とディレクトリの2フィールドにいれたいのです
2019/01/29(火) 00:14:25.22ID:1q8BEqfoM
>>966
シェルスクリプト以前に、手では操作できるのかね?
2019/01/29(火) 00:19:36.77ID:D6lmimQR0
最近くだらん質問しかでなくなったな
2019/01/29(火) 00:58:08.58ID:AnpnZGSz0
sqlite3 をコマンドとして使えるのか?
使えるのなら、そういうコマンドのオプションはあるのか?
sqlite3の説明を読めば?

基本的には、単純な空白区切り、CSV, JSON などでも、DB に入れられるはず

a,b
c,d

こういうCSV, TSV でも、DBに入る
2019/01/29(火) 01:08:07.84ID:Le31BKQs0
くだらん質問に応える暇はないってか
2019/01/29(火) 01:25:19.75ID:RjCLdVoba
暇はあるがやる気はない
972デフォルトの名無しさん (ワッチョイ 4602-wD8z)
垢版 |
2019/01/29(火) 02:49:31.61ID:PUnzDqON0
>>966
CSVにすればこうやって読み込める。
https://qiita.com/j-shimo/items/83febe1992321ba558e4
まあでも Perl とかで DB 接続のモジュール使ってやっちゃった方が簡単な感じがしないでもないが、
簡単と感じるかどうかは主観的な問題。
2019/01/29(火) 03:33:43.84ID:AnpnZGSz0
JSON なら、jq コマンドもある

そりゃ、Ruby などのプログラミング言語を使えば出来るけど、
コマンドだけで、もっと簡単にやりたいのでしょ?
2019/01/29(火) 05:00:03.49ID:AnpnZGSz0
SQLite/SQLiteでCSVを投入(インポート)する方法

https://db.just4fun.biz/?SQLite/SQLite%E3%81%A7CSV%E3%82%92%E6%8A%95%E5%85%A5%28%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%29%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
2019/01/29(火) 23:36:53.59ID:sGXg/LAN0
シェル(スクリプト)っていうかシステムの話なんですが
FLOSSまたは無償で使えるOSで kshがデフォルトのログインシェルになってるものってありますか
AIXとかはそうっぽいのですが 買えません。
2019/01/30(水) 03:34:17.22ID:zjoDoxp+0
OpenBSD、Solaris。Solarisはらしい
2019/01/30(水) 09:12:24.71ID:y3itOE16M
ソイレントシステム
2019/01/30(水) 21:50:49.39ID:yhwdEVRM0
くそ。ググっちまったw アニメ用語かよ。

OpenBSDにします。>>976 ありがとう!
2019/02/04(月) 09:19:35.31ID:eH/He5cH0
読むと常にEOFを返すようなファイル(つまり/dev/nullとか)を
あえて「実行」した場合の挙動ってPOSIXやXPGで規定されてるっけ。
知ってる人いたら教えてほしい。

多分大抵の処理系でEACCESが返されて終了,という挙動をすると思うんだけど
怪しい……。
2019/02/04(月) 09:47:05.71ID:lgZw4Iho0
単なるEmpty Fileと、Executableでないファイルを無理やりと混ぜてなくない?
EACCESは後者だろう、中身に(読むと常にEOFを返す)関係なく。普通にそうならないの?
2019/02/04(月) 10:07:13.75ID:lgZw4Iho0
たぶん、
http://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
の、RATIONALE だな
2019/02/04(月) 11:51:25.97ID:eH/He5cH0
>>981
ありがとう。
「実行可能形式」でないものを実行した場合はシェルスクリプトとして起動されるんだね。
そして俺はマヌケな勘違いをしていたwもっと後の方の処理…つーか違う段階だった。
http://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html#tag_16_111_05
たとえば「ディレクトリ」や「(/dev/nullのような)正常でないファイル」が
exec函数によって「実行」されるとEACCESが返って失敗するという訳か。

お騒がせしてすまん。
983デフォルトの名無しさん (ワッチョイ df01-jOWJ)
垢版 |
2019/02/05(火) 21:50:08.24ID:Ogivq0W50
初心者ながら普段のルーチンをshellscriptで解消したく
ソースコードを書いています。
一つつまづいてるので質問させてください。

catコマンドで特定のtxtファイル(シンボリックで作成したエイリアス)を
読み込むのですがNo such file or directoryと出力されます。

terminal上で同じコマンドを実行するとシンボリックリンク先の
txtファイルを読み込み、きちんと動作します。

何か考えられるミスはありますでしょうか?
2019/02/05(火) 22:40:30.10ID:DqsJMgF70
>>983
readlinkで調べてみたら
2019/02/05(火) 22:46:53.04ID:+nC5PPR6H
catの前にpwdとかls -lとかls -lLとか調べることはいっぱいある
2019/02/06(水) 01:03:14.11ID:RxnZVCFR0
取り敢えずsh -xで確認してみれば
2019/02/06(水) 04:34:28.97ID:FgEjt1k50
>>983
うーん。初心者という言葉をそのまま受け取るなら
フルパス・もしくはそのスクリプトからきちんと認識できる位置の相対パス
で指定してる?
ターミナルの上で
$ cd /tmp
として/tmpディレクトリに移動してからそのコマンドを打ってみるとどうなる?

もう一つは「No such file or directory」がcatの出力でない可能性
ファイル自身をコマンドとして認識される位置に持ってきてない?
988デフォルトの名無しさん (アウアウウー Saa3-d53M)
垢版 |
2019/02/06(水) 15:26:28.18ID:Zn5BTEOaa
>>983
cat の打ち間違えやスペースが全角。

ファイル名の文字コード間違い。全角半角だけでなく見た目が同じだがキリル文字の方を使ってるみたいな間違い。

Unicode特有の問題で日本語の平仮名の濁点や半濁点の文字が2文字になっているというのもあるかも知れない。これはよくMacOSとWindows間のファイルをやり取りすると起こる。
画面上は全く同じに見えるファイルが同じディレクトリに2つ並んだりする。しかし文字コードを調べると違っている。
989デフォルトの名無しさん (ワッチョイ df01-PoJv)
垢版 |
2019/02/06(水) 21:18:32.76ID:gnsmOIbq0
レスを頂きありがとうございます。
983です。

readlinkは事前に使用して検証してたのですが、
問題なくシンボリック先を辿れていました。

カレントディレクトリが/tmpの状態でコマンドで
打つとこれも問題なく動作します。

文字もシンプルな英語しか使用してないので
どこが間違っているのかわかりません。

教えて頂いたデバッグ方法を参考にもう少し探ってみます。
2019/02/08(金) 02:22:47.00ID:GNPN10IV0
シェルスクリプト難し過ぎワロタw
もうpythonでいいよ
2019/02/08(金) 02:56:12.30ID:OGIJJ+v/0
シェルスクリプトで何をすると難しくなるのか?
2019/02/08(金) 04:05:44.63ID:0dQnaPPd0
シェルスクリプトがややこしいから、

vagrant, chef, Homebrew などは皆、Ruby で作られている
2019/02/08(金) 04:14:07.33ID:OGIJJ+v/0
その理屈はおかしい

Rubyがややこしいから、
ansibleはPythonで作られてる

と言えてしまう
2019/02/08(金) 04:16:16.40ID:OGIJJ+v/0
> シェルスクリプトがややこしいから、
>
> vagrant, chef, Homebrew などは皆、Ruby で作られている

>>992はなぜこんな言い方をしてしまったのか?

それは、vagrant, chef, Homebrew などは皆、
本来はシェルスクリプトで作るべきものなんだ
と思っているからなのだろう。
2019/02/08(金) 04:55:40.42ID:TBYY3ugx0
brewコマンド自体はシェルスクリプト
2019/02/08(金) 08:43:54.60ID:e7pcoQvna
>>993
それは正しいだろ
RubyDSLがややこしいから、ansibleはYAMLを採用した、もまた正しい
2019/02/08(金) 08:56:59.76ID:OGIJJ+v/0
その理屈でいうと、rbenvはRubyがややこしいから
シェルスクリプトを使ったということになる
2019/02/08(金) 09:01:28.19ID:OGIJJ+v/0
「モジュールが対応してなくてYAMLで設定できないんだけど?」

ansible「シェルスクリプトも使えるで」


なら最初からシェルスクリプトにしろよ(笑)
2019/02/08(金) 09:52:00.86ID:8tcvjc2ZM
シェルスクリプト、マヂややこしい…。すぐ頭から抜ける。
もうpythonでいいよ。
2019/02/08(金) 10:45:14.94ID:h1cIDqYw0
あの、質問いいですか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 138日 22時間 51分 54秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況