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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2020/03/23(月) 01:12:30.31ID:TYte82vJ
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
2020/08/13(木) 08:14:35.56ID:r+Myq/6D
> rm -f /home/test/public_html/$oldfile.txt
>
> としたのですが、「20200805.txt」が削除されません。

-f つけなければなにかわかるだろ
2020/08/13(木) 10:30:46.90ID:u1yLpjcC
>>810
上の方法でもこっちでは成功したから、
なんか全く別の所でひっかかってる気がするんだけど
とりあえず
rm ~/"public_html/$(date -d '7 days ago' +'%Y%m%d')"
こうしてみて。
2020/08/13(木) 11:03:45.75ID:HLH3bdVq
>>823
エラーがなくなるだけだろ。
2020/08/13(木) 11:07:31.64ID:i+RlWr/H
>>825
そう考えてるなら理解力がない
827810
垢版 |
2020/08/13(木) 11:42:16.52ID:1yPigLiW
>>810です。みなさん色々ありがとうございます。
原因はわかりませんが、以下のコマンドで削除されました!

oldfile=`date -v-7d +"%Y%m%d"`
rm -f /home/test/public_html/$oldfile.txt

サーバーはFreeBSDなのですが、
サーバー的な問題があったのかもしれません
2020/08/13(木) 12:20:55.98ID:i+RlWr/H
ほらみろ-fをなくしたらわかる話だっただろうが
2020/08/13(木) 16:42:10.47ID:UJyiXERu
>>822
パッケージに無くても入れらるんだぞ。パッケージになないようだけどな

>確かに、0a00 は、echo が付けているだけだった
0a な。 00 を付けてるといえば付けてるのは od な
2020/08/13(木) 19:04:38.45ID:/leUQEag
while ここでbreak使うのはOkなのだろうか?; do
:
done
2020/08/15(土) 08:39:14.46ID:Ob8esEzA
継続行の後にコメントってかけないの?
2020/08/15(土) 13:15:03.53ID:sQULdK+x
書けたとしても書かない方がいいだろうな
可読性が下がるから
2020/08/15(土) 17:32:34.73ID:ODJGcA2C
>>831
書けるんじゃないの?
2020/08/15(土) 19:07:09.82ID:Ob8esEzA
え?どうやって?

foo \ # comment
foo # commnet \

どっちも無理なんだけど?
2020/08/15(土) 20:54:12.94ID:ODJGcA2C
>>834
前者は継続行ではなくエスケープ。
後者は、その次に続く。
2020/08/15(土) 22:14:34.07ID:Ob8esEzA
>>835
そんなことは聞いてないよ
2020/08/15(土) 22:15:49.30ID:/M/D7F5G
printf “―-こんにちわ―-“

みたくprintfにハイフンから始まる文字列を出力させようとするとエラー出るんですけどどうにかならいですかね?
echo使えば解決ですけど
2020/08/15(土) 22:17:46.31ID:Ob8esEzA
print '%s'
2020/08/15(土) 22:19:39.71ID:qj/CORtd
>>837
printf -- “―-こんにちわ―-“
2020/08/15(土) 22:23:58.73ID:/M/D7F5G
>>838
>>839
おー、これでできました
ありがとうございます!
2020/08/15(土) 22:33:10.73ID:ODJGcA2C
>>836
じゃあ継続行を勘違いしてるんやろ。
2020/08/15(土) 23:01:28.72ID:Ob8esEzA
>>841
すみませんが、質問内容は最初に書いたとおり
「継続行の後にコメントってかけないの?」です
2020/08/15(土) 23:36:06.37ID:8MGPAd1y
以下のようなヒアドキュメントを使用して、sshコマンドで複数コマンドの出力結果をすべてファイルに出力したい場合、どのようにしたら可能でしょうか?

ssh -t -t ユーザ@IP <<EOC
 コマンド1
 コマンド2
 コマンド3
 exit
EOC

ちょっと試す環境が無いのですが、以下のように1行目をリダイレクトすれば可能でしょうか?
ssh -t -t ユーザ@IP <<EOC >>出力ファイル
2020/08/16(日) 00:19:03.11ID:YKxJCnVG
>>842
commandline \
# 継続行の後。

書けるやろ。
ほかの解釈があるか?
2020/08/16(日) 00:19:53.88ID:YKxJCnVG
>>843
環境がないのになぜ聞く?
2020/08/16(日) 00:35:02.24ID:1j/DClPj
なんやねんw
2020/08/16(日) 02:27:19.62ID:beccON1S
>>845
気軽に試せるテスト用の環境がないので作って本番運用してみるしかないのですが、分かれば事前に確認したく
2020/08/16(日) 02:33:52.97ID:XbVXxig+
>>844
あんた面倒くさい人だっていわれたことあるでしょ?
何を言うべきか最初から気付いているのに
わざとそれをいわずに回りくどい言い方しかしない
あんたコミュニケーション能力ないよ
2020/08/16(日) 02:34:46.65ID:YKxJCnVG
>>847
Dockerを試せば。
たぶんなにかと役に立つのでは。
2020/08/16(日) 02:35:16.56ID:hHqe5wIQ
>>847
したく…なんだよw
2020/08/16(日) 02:35:35.89ID:1G6F2nAS
「どのようにしたら可能でしょうか?」

レス「環境がないのになぜ聞く?」

これだもんなw
2020/08/16(日) 02:37:08.19ID:1G6F2nAS
>>850
こういうやつ、ほんとコミュニケーションに向いてないなw

「〜したく。」という表現について
https://oshiete.goo.ne.jp/qa/3612600.html
2020/08/16(日) 02:37:51.28ID:YKxJCnVG
>>848
バカには難しかったね。w
おきのどく。
2020/08/16(日) 02:38:05.03ID:1G6F2nAS
まーた始まった
2020/08/16(日) 02:40:15.48ID:YKxJCnVG
>>851
じゃあおまえがこたえてやれよ。
くちのききかたのことしかいえないの?w
2020/08/16(日) 02:42:05.20ID:1G6F2nAS
>>843
それで可能


>>855
答えましたが?w
たった5文字で終わることを長くさせてるのは自分だって自覚しような
2020/08/16(日) 02:42:18.69ID:hHqe5wIQ
>>852
本当にそうだよね、そのリンクで挙げられている会社内で使えよって話
2020/08/16(日) 02:43:10.98ID:1G6F2nAS
わざと、世間でも使われてるって書いてあるのみて、無視してるんだろうなーw
2020/08/16(日) 02:44:34.09ID:hHqe5wIQ
>>858
よく読めw
2020/08/16(日) 02:45:33.86ID:hHqe5wIQ
散々否定されてるだろwww
2020/08/16(日) 02:45:49.62ID:1G6F2nAS
ベストアンサーより
> ”頂きたく””致したく””お願いしたく”といった表現は、昔からよく使う会社とそうでもない会社があるようです。
2020/08/16(日) 02:46:16.68ID:hHqe5wIQ
使っている会社があるけどおかしいよねってソースだろそれ
2020/08/16(日) 02:46:30.85ID:hHqe5wIQ
まあ日立なんだけど
2020/08/16(日) 02:47:50.55ID:1G6F2nAS
>>862
ビジネスとしておかしい、マナーとしておかしいけど、使われてるって話だろ?
ここビジネスか?w
2020/08/16(日) 02:48:39.56ID:hHqe5wIQ
>>864
そのおかしい言葉をおかしいと思わずに使っている恥ずかしいやつって見られるだけだから別にいいと思うよ!
2020/08/16(日) 02:49:02.10ID:hHqe5wIQ
頑張って広めてね!応援してるよー
2020/08/16(日) 02:49:36.40ID:XtZ0e6Es
また日立語かよ、きも
2020/08/16(日) 02:51:41.90ID:1G6F2nAS
広まってるからこうやってググって見つかるのにw
ああ、そうか使われてるって知らないって話だったな
2020/08/16(日) 02:53:03.05ID:hHqe5wIQ
>>868
うんにゃ、知ってるよ
おかしな言葉として有名だからね
2020/08/16(日) 02:55:17.21ID:hHqe5wIQ
>>868
ググって見つかる言葉なら正解だよね!わざわざググってくれた君の行動に行動に敬意を評したく
2020/08/16(日) 02:56:14.55ID:1G6F2nAS
1. 言葉がおかしいと知ってる
2. 言葉がおかしいとレスすればいい
3. それ以前に、正しい言葉を知ってるんだから
脳内で補間して、本当にすべきレスをすればいい

実際に返したレス→「したく…なんだよw」


な?コミュニケーション能力ないだろ?w
2020/08/16(日) 02:59:10.06ID:hHqe5wIQ
>>871
変なとこでぶった切ってるから何が言いたいんだ?もっとまともな日本語使えよってツッコミでしょ?
もう少しまともな思考をしてもらいたく
2020/08/16(日) 03:00:17.69ID:hHqe5wIQ
>>871
日立語をぜひ広めてもらいたく
2020/08/16(日) 03:01:10.81ID:1G6F2nAS
こういうナチュラルに嫌がらせをするやつっているよなw

「すいませーん。ちょっと今いいですかー?」

「え?吸いませんってなに?タバコ?タバコ吸わない宣言でもしてるの?w」


はぁ、疲れつやつだ。こいつ相手だと話が進まない。ってなる。
2020/08/16(日) 03:03:08.25ID:hHqe5wIQ
>>874
まったく比較になっていない例えを持ち出してくるやつっているよねー。こいつ相手だと話が進まない。ってなる。同僚に同情したく。
2020/08/16(日) 03:04:12.32ID:hHqe5wIQ
>>874
疲れながら構ってくれてありがとう。感謝したく
2020/08/16(日) 03:05:32.81ID:1G6F2nAS
「したく」って言葉がよっぽど気に触ったようだw
2020/08/16(日) 03:06:01.95ID:1G6F2nAS
もう寝るからもう一回言っておくね

まーた始まった
2020/08/16(日) 03:07:24.30ID:hHqe5wIQ
>>877
全然。面白かったから突っ込んだだけなんだけど、コミュニケーション能力なさすぎwww
2020/08/16(日) 03:07:50.74ID:hHqe5wIQ
>>878
いい夢を見てほしく
2020/08/16(日) 03:08:41.32ID:hHqe5wIQ
>>878
まだ構っていただきたく
2020/08/16(日) 03:16:18.90ID:beccON1S
>>856
ご回答ありがとうございます。
なんか荒れてしまいスミマセン(;一_一)
2020/08/16(日) 03:20:00.87ID:C12a8F+A
>>877
バカにされてるだけだろ
2020/08/16(日) 10:13:01.15ID:uQxSrMDH
>>882
気にしなくていいよ。いつもの「アレ」だから
885デフォルトの名無しさん
垢版 |
2020/08/17(月) 00:07:49.21ID:F1v/bIKS
POSIXの範囲内で一番高度な正規表現を持ってるのはawkですかね?
それ以外はBREだよね?
2020/08/17(月) 01:45:19.88ID:KciEC6qM
正規表現の高度の定義よろしく
887デフォルトの名無しさん
垢版 |
2020/08/17(月) 01:57:51.81ID:ndXLOI29
例えば「基本」よりも「拡張」が高度です
拡張正規表現というのは知ってますよね?
2020/08/17(月) 11:43:39.53ID:RhttSiUn
なるべく標準に準拠しつつsudoやsuみたいなコマンドを使いたいんだけど
POSIXだとsudoどころかsuコマンドも用意されてないんだね…
2020/08/17(月) 19:32:26.30ID:vwRwlH/K
変数を使う時って "$FOO" と "${FOO}" のどっちのスタイルを使ってる?
Google のガイドだと "${FOO}" を使うようになってるんだけど、一文字変数をこのスタイルで書くとかっこわるく見える (e.g. "${f}")

ttps://google.github.io/styleguide/shellguide.html#s5.6-variable-expansion
2020/08/17(月) 20:13:56.99ID:sGl1Y5uw
$FOOだと問題あるときに${FOO}。${FOO}でないとという場合はそんなないけど
Googleのガイドはごちゃ混ぜがキモいとか${FOO}にすべきとこを間違って$FOOにしてしまってというのを避けるためだけじゃね
仕事や複数共同でとしてなら一定の基準は必要だが、個人でならお好きにでいいんじゃないの
2020/08/17(月) 20:39:16.41ID:vwRwlH/K
>>890
ふむふむ、なるほどなぁ
2020/08/17(月) 21:07:36.85ID:MSHB+00t
>>889
These are strongly recommended guidelines but not mandatory regulation.
て言ってるじゃん。
適度に無視すれば。w
直後に、必須じゃないからってないがしろにすんな、とも言ってるけど。

{}があったほうが検索しやすかろ、というのはわかる。
それが理由で個人的には、C++関数の引数なしの(void)は絶対書く。
2020/08/18(火) 05:39:56.45ID:vobu/Tqw
>>899
読みづらくない場合は $FOO
要ないものは冗長にはしないというルールでやってる

echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
こういう場合は echo "${foo}${bar}${baz}"
echo "$foo $bar $baz" は見づらくないのでそのまま
2020/08/18(火) 05:48:54.34ID:vobu/Tqw
コーディング規約全般に当てはまる話だが
理由がないのに書き方を統一すべきという方針は
自分の脳みそで判断したくないというバカがやることだ

困っていないのであれば、統一する必要はない
(念の為に言うとタブやスペースの数は混ざると「困る」ので統一すべき事例だ)

どちらの書き方でも一長一短があるの出れば
どちらかにするのではなく「どちらの書き方でも良い」というルールにすべきだ
2020/08/18(火) 07:43:54.94ID:nMhUmH9x
なんか言ってる。俺がルールだってか
2020/08/18(火) 07:56:19.91ID:nMhUmH9x
>echo "$foo$bar$baz" みたいに変数が連続していると見づらいので
>こういう場合は echo "${foo}${bar}${baz}"
ってしてるんだよな?んなのうぜえし別に見づらくないと echo "$foo$bar$baz" と書くのが居るとしよう、そういうのをお前がメンテナンスするとしてどう思う?
それはそれでそのままか?だったらわざわざスレて開陳してる 連続していると見づらい ってなんなのか?

どこで折り合いをつけるのかという話になるんだよ、複数で共同で作業するのでは
そういうのをすっ飛ばして、自分の脳みそで判断したくないというバカがやることだ  というのは単純バカだなと思う
2020/08/18(火) 09:14:42.12ID:vobu/Tqw
>>896
いや、だからなに?って言いたいんだが

そんなもん、関数名がgetXXXなのかfetchXXXなのか
どっちにすべきかって話と何も変わらんだろ

どっちでもいいだろ
2020/08/18(火) 10:42:15.10ID:51N2sBQ+
規約がなければ普通に "$foo$bar$baz" って書くしどこも読みにくくない
2020/08/18(火) 11:30:25.87ID:vobu/Tqw
"$S$$S$$$S"
2020/08/18(火) 14:51:07.00ID:nmnRK/Qq
こいつはこういうのを書くんだなw
2020/08/18(火) 22:16:05.43ID:c1cRfnKe
$SINGLE$SHELL$SCRIPT$SYSTEM

とかなら書くでしょ?
2020/08/18(火) 22:21:06.83ID:hHWiIYSV
な,プログラマの好きにさせてると,
譬え個々人が言っていることはそれぞれ正しくても
こんな風にいがみ合いになる。

だからコーディング規約があるんだよ。
2020/08/18(火) 22:39:29.13ID:c1cRfnKe
だからコーディング規約として
Aにする、Bにする。AとBのどちらでもいい
この三番目でもいいって話

"$SINGLE$SHELL$SCRIPT$SYSTEM" のように見にくい場合は
"${SINGLE}${SHELL}${SCRIPT}${SYSTEM}" とすればいいし

"$SINGLE $SHELL $SCRIPT $SYSTEM" のように見にくくない場合は
{}を使う必要はない

変数名・関数名に「わかりやすい名前をつけましょう」というルールであるのと同じで
{}を使う使わないも「わかりやすい方法を選びましょう」でいいんだよ
2020/08/18(火) 23:40:57.77ID:8RKEd5YI
俺のコーディング規約を使えかよww
2020/08/18(火) 23:58:50.21ID:8RKEd5YI
>>902
やはりより良いと自ら考えてのだから個々人のやり方にある意味愛着があるからな
でも他人からは単なる好みにしか見えなかったりでので

言うようにだからコーディング規約があるんだよなあ。一人だけわかってないようだけど
2020/08/19(水) 00:08:51.16ID:hvmm4HMW
だから「どちらでもいい」というコーディング規約なんだってばw
2020/08/19(水) 00:13:38.66ID:sn9Oor5N
サンプルを二度も三度も変えてなんてまでしてwなんて、しかも理由が読みづらいなんて自分のやり方が良いと言っているだけ=規約だろうに
2020/08/19(水) 00:21:17.83ID:hvmm4HMW
だから$fooにするか${foo}にするかはどちらでも良いという規約だっていってんだろw
2020/08/19(水) 00:28:12.27ID:sn9Oor5N
俺の考えた規約が最強と言いたいだけかww
2020/08/19(水) 00:39:26.64ID:hvmm4HMW
俺が言ってるのは決める必要がないものまで決めるなって話だよ
ルールを作って仕事した気になってるアホ
2020/08/19(水) 00:43:03.59ID:sn9Oor5N
自分でナニかを決めてるのに、それをなんか知らんが繰り返し正しいと他人に吹聴wしてるのに何を言っているのか
仕事した気になってとか何を言っているのか、全く未だに だからコーディング規約があるんだよ がわかってないな
どう見ても他人にコード見せる見られたことないだろ?お前にはコーディング規約なんて関係ないし、俺の考えた最強のはお前が好きに自分で使ってなさいな
2020/08/19(水) 00:45:29.62ID:hvmm4HMW
>>911
今話しをしてる「決める」っていうのは書き方、スタイルのことな
コーディング規約で、どちらの書き方でも良い。と決めるって話
理由がないのにルールを作るな
2020/08/19(水) 00:46:30.46ID:hvmm4HMW
縛るって言えば理解できるか?
縛らなくて良いものまで縛るなって話
2020/08/19(水) 00:47:42.01ID:hvmm4HMW
>>911
$foo にするか ${foo} にするかを縛ってる
よく知られたコーディング規約はない

縛ってないというのがわかるだろ
2020/08/19(水) 00:48:40.46ID:sn9Oor5N
なんでそうも自説に必死なのか。他のコーディング規約を馬鹿にしてまで
全く>>902の言うとおりそのまま、いらん紛争を持ち込む張本人そのもの
そんな自説が正しいならGoogleのアレを変えてみろってのww
2020/08/19(水) 00:50:59.55ID:hvmm4HMW
Googleも縛っていないだろ
ちゃんと読めよ
2020/08/19(水) 00:51:18.19ID:sn9Oor5N
明らかに馬鹿にしてるのにしないできないのは、ある意味Googleよりも俺が偉いと言いたいだけの承認欲求が激しいだけのお人とするからなw
結果お待ちしてます
2020/08/19(水) 00:52:14.93ID:hvmm4HMW
バカにしてないのに、バカにしていることにしたいのはなんでだろうな(笑)
あれかな自分以外は悪じゃないといけないみたいな考え方w
2020/08/19(水) 00:52:33.40ID:sn9Oor5N
だったらなんの規約に噛みついてるのかイミフすぎ
お前の冒頭で何を言ったのか忘れたのか?「コーディング規約全般に当てはまる話だが」だぞ?
自分の言ったことも忘れるいつものか
2020/08/19(水) 00:53:16.48ID:hvmm4HMW
なんの規約って、どちらでも良いものは縛るなって言ってるだけだが?
Googleだって縛っていない
2020/08/19(水) 00:55:24.48ID:sn9Oor5N
>コーディング規約全般に当てはまる話だが
>理由がないのに書き方を統一すべきという方針は
>自分の脳みそで判断したくないというバカがやることだ
なんか下手くそに逃げたが、Googleのは強制はしてないが無視すんなとも言ってる規約だし、発端のから明らかにGoogleの(も)だろう

やっぱりいつもののか、下手くそな逃げにもううんざりしてきた
2020/08/19(水) 00:56:34.75ID:hvmm4HMW
> Googleのは強制はしてないが無視すんなとも言ってる規約だし、
だから強制していないで終了だろw
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。