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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 3efb-m2E0)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

0952デフォルトの名無しさん (ワッチョイ 2e63-a54J)2019/01/26(土) 17:37:42.47ID:t83jnK1u0
錦蛇(python)は入れればあるね。

0953デフォルトの名無しさん (ワッチョイ 4280-tGo4)2019/01/26(土) 21:12:00.09ID:dNFr7KCg0
fishとか

0954デフォルトの名無しさん (ワッチョイ 3e28-MosH)2019/01/26(土) 21:46:39.00ID:VBVSKLLT0
fish言おうと思っとったのに

0955デフォルトの名無しさん (ワッチョイ 3dc5-hALj)2019/01/26(土) 21:48:04.51ID:uSJt/X2/0
俺の方が先にfish言おうとしたんやけどね

0956デフォルトの名無しさん (アウアウカー Sa69-lamD)2019/01/26(土) 21:53:01.10ID:nfFeNMjGa
俺が言おうとしたのに

0957デフォルトの名無しさん (ワッチョイ 3dc5-hALj)2019/01/26(土) 22:09:06.41ID:uSJt/X2/0
fish知名度高すぎやろwwww

0958デフォルトの名無しさん (ワッチョイ 4201-hALj)2019/01/26(土) 22:11:42.15ID:Ze1S3jEe0
fish って聞くと x68k の fish の方を連想してしまう

0959デフォルトの名無しさん (ワッチョイ 3dc5-hALj)2019/01/26(土) 22:38:03.41ID:uSJt/X2/0
なんやその受け身の人生アピールw

0960デフォルトの名無しさん (ワッチョイ 454e-fsN/)2019/01/27(日) 01:38:33.38ID:z0hosMYm0
fish、イタリア語でPesciペッシ。
ジョジョで覚えたぞ!

0961デフォルトの名無しさん (ワッチョイ 3e28-MosH)2019/01/27(日) 08:33:27.63ID:Erhv9FPi0
namazuはどう?

0962デフォルトの名無しさん (ワッチョイ fd7f-qama)2019/01/27(日) 09:14:26.94ID:RsUGZloC0
なんでcatが出てこんのや

0963デフォルトの名無しさん (ワッチョイ 4201-e+IY)2019/01/27(日) 09:16:57.86ID:rwuNPA7J0
950に[ほかにも]とあるから猫は既出でしょ

0964デフォルトの名無しさん (ワッチョイ 4900-MosH)2019/01/27(日) 17:29:49.17ID:xlSzZYyn0
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_23
ここのNoteに「〈記号〉=〈値〉の形の構文の挙動は未定義である。Kornシェル用いられている」
とあるのですが実際にKornシェルで↑この形の構文はどういう意味なのでしょうか。

0965デフォルトの名無しさん (ワッチョイ 415d-FWM4)2019/01/28(月) 23:54:39.66ID:WFNfoV5R0
あげ

0966デフォルトの名無しさん (ワッチョイ 415d-FWM4)2019/01/28(月) 23:55:04.01ID:WFNfoV5R0
シェルでコマンドの出力結果を(lsなど)データベースに入れたいのですが
どのようにすればいいかわかりますか?
できればその時のIpアドレスも一緒にいれればいいのですが
普通にテキストに入れるには
できないのでしょうか
ディレクトリも入れれば最高です
dbはsqlite3でフィールドはディレクトリ内容とディレクトリの2フィールドにいれたいのです

0967デフォルトの名無しさん (ブーイモ MM62-f+Eb)2019/01/29(火) 00:14:25.22ID:1q8BEqfoM
>>966
シェルスクリプト以前に、手では操作できるのかね?

0968デフォルトの名無しさん (ワッチョイ 2e14-wD8z)2019/01/29(火) 00:19:36.77ID:D6lmimQR0
最近くだらん質問しかでなくなったな

0969デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)2019/01/29(火) 00:58:08.58ID:AnpnZGSz0
sqlite3 をコマンドとして使えるのか?
使えるのなら、そういうコマンドのオプションはあるのか?
sqlite3の説明を読めば?

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

a,b
c,d

こういうCSV, TSV でも、DBに入る

0970デフォルトの名無しさん (ワッチョイ 0666-CD7Z)2019/01/29(火) 01:08:07.84ID:Le31BKQs0
くだらん質問に応える暇はないってか

0971デフォルトの名無しさん (アウアウカー Sa69-lamD)2019/01/29(火) 01:25:19.75ID:RjCLdVoba
暇はあるがやる気はない

0972デフォルトの名無しさん (ワッチョイ 4602-wD8z)2019/01/29(火) 02:49:31.61ID:PUnzDqON0
>>966
CSVにすればこうやって読み込める。
https://qiita.com/j-shimo/items/83febe1992321ba558e4
まあでも Perl とかで DB 接続のモジュール使ってやっちゃった方が簡単な感じがしないでもないが、
簡単と感じるかどうかは主観的な問題。

0973デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)2019/01/29(火) 03:33:43.84ID:AnpnZGSz0
JSON なら、jq コマンドもある

そりゃ、Ruby などのプログラミング言語を使えば出来るけど、
コマンドだけで、もっと簡単にやりたいのでしょ?

0974デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)2019/01/29(火) 05:00:03.49ID:AnpnZGSz0

0975デフォルトの名無しさん (ワッチョイ 4900-MosH)2019/01/29(火) 23:36:53.59ID:sGXg/LAN0
シェル(スクリプト)っていうかシステムの話なんですが
FLOSSまたは無償で使えるOSで kshがデフォルトのログインシェルになってるものってありますか
AIXとかはそうっぽいのですが 買えません。

0976デフォルトの名無しさん (ワッチョイ eddd-CD7Z)2019/01/30(水) 03:34:17.22ID:zjoDoxp+0
OpenBSD、Solaris。Solarisはらしい

0977デフォルトの名無しさん (アメ MM6d-fsN/)2019/01/30(水) 09:12:24.71ID:y3itOE16M
ソイレントシステム

0978デフォルトの名無しさん (ワッチョイ 4900-MosH)2019/01/30(水) 21:50:49.39ID:yhwdEVRM0
くそ。ググっちまったw アニメ用語かよ。

OpenBSDにします。>>976 ありがとう!

0979デフォルトの名無しさん (ワッチョイ ff28-/DTb)2019/02/04(月) 09:19:35.31ID:eH/He5cH0
読むと常にEOFを返すようなファイル(つまり/dev/nullとか)を
あえて「実行」した場合の挙動ってPOSIXやXPGで規定されてるっけ。
知ってる人いたら教えてほしい。

多分大抵の処理系でEACCESが返されて終了,という挙動をすると思うんだけど
怪しい……。

0980デフォルトの名無しさん (ワッチョイ 5fdd-FVje)2019/02/04(月) 09:47:05.71ID:lgZw4Iho0
単なるEmpty Fileと、Executableでないファイルを無理やりと混ぜてなくない?
EACCESは後者だろう、中身に(読むと常にEOFを返す)関係なく。普通にそうならないの?

0981デフォルトの名無しさん (ワッチョイ 5fdd-FVje)2019/02/04(月) 10:07:13.75ID:lgZw4Iho0

0982デフォルトの名無しさん (ワッチョイ ff28-/DTb)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が返って失敗するという訳か。

お騒がせしてすまん。

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

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

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

何か考えられるミスはありますでしょうか?

0984デフォルトの名無しさん (ワッチョイ ff8c-ZhXv)2019/02/05(火) 22:40:30.10ID:DqsJMgF70
>>983
readlinkで調べてみたら

0985デフォルトの名無しさん (JP 0Hd3-0+i/)2019/02/05(火) 22:46:53.04ID:+nC5PPR6H
catの前にpwdとかls -lとかls -lLとか調べることはいっぱいある

0986デフォルトの名無しさん (ワッチョイ ff61-2N0f)2019/02/06(水) 01:03:14.11ID:RxnZVCFR0
取り敢えずsh -xで確認してみれば

0987デフォルトの名無しさん (ワッチョイ df00-/DTb)2019/02/06(水) 04:34:28.97ID:FgEjt1k50
>>983
うーん。初心者という言葉をそのまま受け取るなら
フルパス・もしくはそのスクリプトからきちんと認識できる位置の相対パス
で指定してる?
ターミナルの上で
$ cd /tmp
として/tmpディレクトリに移動してからそのコマンドを打ってみるとどうなる?

もう一つは「No such file or directory」がcatの出力でない可能性
ファイル自身をコマンドとして認識される位置に持ってきてない?

0988デフォルトの名無しさん (アウアウウー Saa3-d53M)2019/02/06(水) 15:26:28.18ID:Zn5BTEOaa
>>983
cat の打ち間違えやスペースが全角。

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

Unicode特有の問題で日本語の平仮名の濁点や半濁点の文字が2文字になっているというのもあるかも知れない。これはよくMacOSとWindows間のファイルをやり取りすると起こる。
画面上は全く同じに見えるファイルが同じディレクトリに2つ並んだりする。しかし文字コードを調べると違っている。

0989デフォルトの名無しさん (ワッチョイ df01-PoJv)2019/02/06(水) 21:18:32.76ID:gnsmOIbq0
レスを頂きありがとうございます。
983です。

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

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

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

教えて頂いたデバッグ方法を参考にもう少し探ってみます。

0990デフォルトの名無しさん (ワッチョイ c259-nSHY)2019/02/08(金) 02:22:47.00ID:GNPN10IV0
シェルスクリプト難し過ぎワロタw
もうpythonでいいよ

0991デフォルトの名無しさん (ワッチョイ d914-feI+)2019/02/08(金) 02:56:12.30ID:OGIJJ+v/0
シェルスクリプトで何をすると難しくなるのか?

0992デフォルトの名無しさん (ワッチョイ 6e2c-V6Wy)2019/02/08(金) 04:05:44.63ID:0dQnaPPd0
シェルスクリプトがややこしいから、

vagrant, chef, Homebrew などは皆、Ruby で作られている

0993デフォルトの名無しさん (ワッチョイ d914-feI+)2019/02/08(金) 04:14:07.33ID:OGIJJ+v/0
その理屈はおかしい

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

と言えてしまう

0994デフォルトの名無しさん (ワッチョイ d914-feI+)2019/02/08(金) 04:16:16.40ID:OGIJJ+v/0
> シェルスクリプトがややこしいから、
>
> vagrant, chef, Homebrew などは皆、Ruby で作られている

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

それは、vagrant, chef, Homebrew などは皆、
本来はシェルスクリプトで作るべきものなんだ
と思っているからなのだろう。

0995デフォルトの名無しさん (ワッチョイ cddd-Iuku)2019/02/08(金) 04:55:40.42ID:TBYY3ugx0
brewコマンド自体はシェルスクリプト

0996デフォルトの名無しさん (アウアウエー Sa0a-/S9r)2019/02/08(金) 08:43:54.60ID:e7pcoQvna
>>993
それは正しいだろ
RubyDSLがややこしいから、ansibleはYAMLを採用した、もまた正しい

0997デフォルトの名無しさん (ワッチョイ d914-feI+)2019/02/08(金) 08:56:59.76ID:OGIJJ+v/0
その理屈でいうと、rbenvはRubyがややこしいから
シェルスクリプトを使ったということになる

0998デフォルトの名無しさん (ワッチョイ d914-feI+)2019/02/08(金) 09:01:28.19ID:OGIJJ+v/0
「モジュールが対応してなくてYAMLで設定できないんだけど?」

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


なら最初からシェルスクリプトにしろよ(笑)

0999デフォルトの名無しさん (ブーイモ MMf6-nSHY)2019/02/08(金) 09:52:00.86ID:8tcvjc2ZM
シェルスクリプト、マヂややこしい…。すぐ頭から抜ける。
もうpythonでいいよ。

1000デフォルトの名無しさん (ワッチョイ 0211-z8kj)2019/02/08(金) 10:45:14.94ID:h1cIDqYw0
あの、質問いいですか?

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 138日 22時間 51分 54秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。