シェルスクリプト質問スレ (227レス)
1-

48: 2021/06/26(土)13:29 ID:3hhiwe6I(1) AAS
cat aaa | awk '1'

これなら、sedよりあっさり?
とは言えないか。
49
(2): 2021/07/03(土)19:05 ID:QPB5ysNZ(1) AAS
行末に改行があろうがなかろうが改行文字(\n)を削除してから
行末文字($)を改行文字(\n)で置き換える(行末に改行文字を追記する)
cat sample.txt | tr --delete '\n' | sed 's/$/\n/'
50: 2021/07/03(土)22:59 ID:EIKNeueg(1) AAS
よくこんな暗号みてぇなもん覚えられんなw
51: 2021/07/03(土)23:33 ID:jCdyWCtw(1) AAS
インタラクティブにシステムコール呼べたら楽かなと思ってbashのヒアストリングをgccに食わせたんだけど
gcc -o ${blob} <<ccode
\#include <...>
...
${fun}(${argv})
ccode
ld:/dev/fd/nn見つからないよ
collect2: ld returned 1

gccがldを非同期実行し、fdが回収された後にもldが動いてるのかと思い
(gcc ... & 1s)のように遅らせてもダメな謎
省14
52
(2): 2021/07/04(日)18:31 ID:kHg5RL8R(1) AAS
単にgccが標準入力をソースコード扱いしたりはしないってだけでは
/usr/lib/gcc/中略/cc1なら標準入力を取るけどこのパスの特定は面倒だし、素直に中間ファイル作ったほうが良さげでは
perlとかpythonで済むならそっちでも
53
(1): 2021/07/05(月)04:04 ID:mQ20rymu(1) AAS
>>52
ファイル作ると監視システムに見つかるから、
それを避けたいって話じゃないの?
54
(1): 2021/07/05(月)19:18 ID:Pk2boC0r(1) AAS
>>49
「行末に改行があろうがなかろうが」
すまん意味がわからん。
テキストファイルはCRLFかLFの改行コードを入れて
初めて行末になるもんだと思ってたが、
それ以外の行末もあんの?
55: 2021/07/05(月)19:33 ID:AjlMGFnC(1/2) AAS
>>54
ファイル終端
56
(1): 2021/07/05(月)19:43 ID:DgsJIMGq(1) AAS
ファイル末尾と言いたかったんじゃないの。
>>45はバグった仕様書を書くとタイプ。>>49は腐った仕様書に疑いを挟まずコーディングするタイプ。
57: 2021/07/05(月)20:37 ID:AjlMGFnC(2/2) AAS
>>56は理解力がゼロなタイプ。w
58: 2021/07/07(水)16:25 ID:ITjV3pwU(1) AAS
>>52
返信遅くなってごめん

進捗
プロトタイプはマクロだらけの生ヘッダよりman 2/3から抽出してテキストに纏めると楽にできた
手間は掛かったけどシェルから色々実験できて楽しい、見返りはあった
特定の変数に入れて返されるエラーコードはハードコードして拾うしか無さそうだけど、そこまではいいかな…

フロントエンドのgccでなく直接cc等呼ぶのも試してみる、ありがとう
59: 2021/07/07(水)16:38 ID:L74nIjWf(1) AAS
>>53
個人PC上での個人的な便利ツールなのでそこまで考えてないです
たまにrm失敗するので何らかのデーモンが見に来てるとは思いますが、呼ぶたびに前回のtmpをsuffixで識別&一掃してます…
60: 2021/07/21(水)12:49 ID:pz8Jt368(1/2) AAS
あるフォルダが存在するか否かによって分岐させたく

if [ -d ./$DIR]; then
hogehoge

という形でスクリプトを書いているのですが
現状~/shell_scriptにパスを通してここにそのスクリプトを置いて実行しているので~/shell_scriptに$DIRが存在するかで判定されてしまいます

これをなんとか実行するディレクトリでフォルダの有無を確認するようにしたいのですが何かいい方法はないでしょうか
61: 2021/07/21(水)13:01 ID:rGKkhVvF(1) AAS
./$DIRで既にカレントディレクトリからの相対のはずなので、どこかでcdしていなければ
スクリプトの置き場所が影響するなんてないはずだけど
わざわざ ~/shell_script に移動してから実行とかしてない?
62: 2021/07/21(水)13:07 ID:pz8Jt368(2/2) AAS
即レスありがとうございます
純粋にフォルダの指定方法が間違っていただけでした
ありがとうございます
63: 2021/07/29(木)16:33 ID:wWzOvGhA(1) AAS
環境変数指定のコマンドラインについて質問。

ENV=VALUE cmdline1
ENV=VALUE cmdline2

これをまとめたくて、次のようにするとエラー。

ENV=VALUE ( cmdline1 ; cmdline2 )

しかたがないので、次のようにしてます。
省3
64
(1): 2021/07/30(金)03:08 ID:Ju9d/5Jx(1) AAS
( ENV=VALUE; cmdline1; cmdline2 )
65: 2021/07/30(金)11:42 ID:nK/W8CHf(1) AAS
>>64
たしかに。w
そう書いたときもあったのに、なぜかなんか別物あつかいでした。
ありがとう。
66
(4): 2021/08/01(日)13:30 ID:yremFR/t(1) AAS
#!/bin/sh -xってやると評価結果とかが色々表示されるけど、
スクリプトの中で別のスクリプト呼んでるような時に
その呼ばれたスクリプトも含めて色々表示させる方法ってありますか

そのスクリプトにいちいち-x付けてると面倒だし消し忘れとかもあるかなと

/bin/shを、/bin/sh -xして動かすようなものにしてみたけど
全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
67: 2021/08/02(月)04:10 ID:4HLiG8xo(1) AAS
簡単な方法は思いつかないけど…

MY_DEBUG みたいな適当な環境変数でも使って、呼ばれるスクリプトの冒頭で

if [[ -n MY_DEBUG ]]; then set -x; fi

みたいにするとか。
1-
あと 160 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s