[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/11 08:58 / Filesize : 268 KB / Number-of Response : 1033
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/20(月) 12:07:26.41 .net]
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
  src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
  heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
 「そういうのはperl使いましょう」と回答するのはやめましょう。
 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その25
echo.2ch.net/test/read.cgi/unix/1439563321/

425 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/10/31(火) 15:47:40.56 .net]
シェルスクリプト
https://www.apt-browse.org/browse/ubuntu/trusty/main/i386/debianutils/4.4/file/usr/bin/savelog
マニュアルページ
https://manpages.debian.org/jessie/debianutils/savelog.8.ja.html

426 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/02(木) 04:12:26.82 .net]
これ?
https://goo.gl/En6m3D
www.bityet.us/s7b47si.jpg

427 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/03(金) 04:26:36.66 .net]
X Windows System で,どの IMF が用いられているか判別する方法を考えている。
思い付いたのは $XMODIFIERS 環境変数を用いた
case $XMODIFIERS in
  *ibus)
    local _imf=ibus
    ;;
  *fcitx)
    local _imf=fcitx
    ;;
  *uim)
    local _imf=uim
    ;;
  *SCIM)
    local _imf=scim
    ;;
esac
なんだけど,$XMODIFIERS が必ず設定されているとは限らないし,なんか漏らしてる気がしてならん……。

428 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/03(金) 04:29:53.86 .net]
ツールで投稿したら空白がエラいことになった。すまん。

429 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/03(金) 07:20:14.85 .net]
Shell Scriptのコメントアウトに
# @(#) Foo is foo.
みたいな文字を書いておいて
$ what ./foo.sh
とやると
Foo is foo
という表示がでるというようなwhatコマンドがあるらしいのですが
手元のFedora26に見付かりません。($ dnf search what, $ dnf provides what)
どこかにありますでしょうか。

430 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/03(金) 08:32:21.55 .net]
Linuxの質問はLinux板で

431 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/03(金) 10:09:39.61 .net]
>>423
whatはかつて使われていたSCCSというソースコード管理システムに入っていたコマンド
現在はGNU CSSCがSCCSと同等の機能を提供している
なのでcsscというパッケージを探す
なければhttps://www.gnu.org/software/cssc/へGO!

432 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 15:39:18.57 .net]
case文で

$1がhogeで、$2がhageの場合のみ処理Aを実行する

みたいなのできないでしょうか?

433 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 15:49:53.05 .net]
入れ子にすりゃいい



434 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 15:56:36.27 .net]
$1にも$2にも含まれ得ない文字を区切りにして連結

435 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 16:00:08.82 .net]
>>425
ありがとうございます。依存地獄に嵌ってしまいあきらめました,教えてもらったのにすいません。
また,御礼がおそくなってもうしわけないです。

436 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 16:22:06.48 .net]
caseで実装するなら入れ子かね
しかしここでも髪の話するのか

437 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 17:07:40.56 .net]
>>427
>>428
>>430

入れ子にできることを全然知らず
こんな感じかなでやってみたらいけました
皆さん短時間にありがとうございます

>>430
他意はありませんw

438 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/11/20(月) 18:39:46.60 .net]
>>430
気にし過ぎだろ
さっさと剃れよ

439 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/02(土) 09:15:00.24 .net]
すみません、bashでタブ区切りのファイルを配列に取り込む際、空の列が詰めて格納されてしまいます
そうならない方法はあるのでしょうか

exec < file.tsv
while read LINE
do
ARRAY=(${LINE})
done

440 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/02(土) 10:11:05.91 .net]
>>433
変数の参照部分を引用符で囲むとか。
#!/bin/sh -

exec < file.tsv
while read LINE; do
ARRAY=("$LINE")
done
echo "$ARRAY"
IFS の値を空にするとか。
#!/bin/sh -

IFS=
exec < file.tsv
while read LINE; do
ARRAY=($LINE)
done
echo $ARRAY

441 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/02(土) 10:16:16.70 .net]
あ,5ch ってコード貼るのまずいんだっけ。しくったな。
まあこんなくだらないコードに著作権云々関係ないかw

442 名前:名無しさん@お腹いっぱい。 [2017/12/02(土) 10:37:47.62 .net]
>>433
bash なら mapfile がある(別名 readarray)
-t オプションで各行末尾の改行を取除く

mapfile -t ARRAY <file.tsv

443 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/03(日) 07:15:44.68 .net]
早速検証してみます、ありがとうございます!



444 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/05(火) 08:37:43.17 .net]
検証した結果、IFSを改行のみにして読み込み、その文字列をCutで抜くで達成できました
こうしないと空文字の列が詰まってしまいました

IFS_BAK=IFS
IFS=$'&#165;n'
exec < file.tsv
while read LINE
do
echo "${LINE}" | cut -f1 >> tmp1.txt
echo "${LINE}" | cut -f2 >> tmp2.txt
done
IFS=IFS_BAK

445 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/05(火) 09:20:20.37 .net]
>>438
重箱の隅を突くようで悪いが,その書き方をするならシェバンは #!/usr/bin/bash
にしておけ。
$'string' は Bash の独自拡張だった気がする。

446 名前:433 [2017/12/06(水) 10:04:48.53 .net]
>>433
今ごろ勘違いに気づいた
mapfileじゃ全然見当外れじゃないか…なんかごめん

たとえば
IFS=$'\t'
line="${IFS}b"
このとき
a=(${line})

a=("" "b")
となるのを期待しているのだけど、実際にはクオートしていないので
a=( b)
と同じことになって、先頭の「空の列」は残らない
かといってクオートしたら
a=("${line}")
これはタブ区切りで分割されることなく行全体がそのままになるので意味がない…

ということだよね
>>438のようにファイルに書き出すだけなら、そう

447 名前:やってcutでやるのが扱いやすそうだけど

もしどうしても配列にする必要があるときは、こんな感じでどうだろう
https://ideone.com/uPfCwc
空だと消えてしまうなら空にならないよう何か入れとけばいいじゃない(配列にしてから取り除く)
という案
[]
[ここ壊れてます]

448 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/11(月) 05:34:31.40 .net]
>>440
回答が遅れてすみませんでした

なるほど…その手はいけるんですね
ありがとうございます、活用させていただきます
自分は今回縛りがあってbashだけでやっているのですが、可能なら他のスクリプトに任すべきかな…(´・ω・`)

449 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/12/14(木) 00:31:41.37 .net]
そこは「他のシェルに」じゃないか

450 名前:名無しさん@お腹いっぱい。 [2017/12/29(金) 06:50:06.02 .net]
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

PPEE18BYYA

451 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 17:53:30.81 .net]
はじめまして
早速で申し訳ないのですが、以下のシェルスクリプトでdoを含むコマンドが一切使用できません。理由と解決策を教えてください。

#!/bin/sh
dir=`dirname ${0}`
echo -n "探す拡張子="
read que
ans=$(find ${dir} -name *.${que} | awk -F/ '{print $NF}')
if [ -z "${ans}" ];then
echo "${que}は見つかりませんでした。\n終了します。"
exit
else
echo "${ans}"
fi

452 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 17:59:26.22 .net]
>>444
すみません訂正します。
select文のみどこに書いてもSyntax error: "do" unexpectedというエラー出てしまいます。

453 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 18:43:33.26 .net]
doが何のこと言ってるのかよくわからんが実行の仕方が間違ってんじゃね
まず問題がどこにあるかを明確に切り分けろ



454 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 20:31:51.74 .net]
>>446
さっき書き直したのですが、改善しませんでした。
エラー内容はさっきと同じで、 Syntax error: "do" unexpectedです。
441でも、どこに記述しても変わらなかったため、問題の部分を消して使っていたので、doの部分を貼り忘れてました。すみませんでした。

#!/bin/sh
dir=`dirname ${0}`
echo -n "検索する拡張子:"
read que
while [ -z "${que}" ]
do #ここのdoは問題なし。
echo -n "拡張子を入力してください。\n検索する拡張子:"
read que
done
ans=$(find ${dir} -name *.${que} | awk -F/ '{print $NF}')
if [ -z "${ans}" ];then
echo "${que}は見つかりませんでした。\n終了します。"
exit
else
echo "${ans}"
fi
#============ここから問題の部分===========
select var in ${ans}終了
do
if [ ${var} = 終了 ];then
exit
fi
if [ ${que} = gz -o xz];then
tar -xf ${dir}${var}
fi
done

455 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 20:59:27.67 .net]
xz ]やないの?

シンタックスエラーって出てるんだからまず自分を疑おう

456 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 21:01:57.76 .net]
どこに貼ってもだめならselectの構文がなんかおかしいんじゃないの

457 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 21:16:18.25 .net]
>>448
スペース入れても変わりませんでした。

>>449
構文がおかしい部分を自分では見つけられませんでした。

458 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 21:41:13.34 .net]
do unexpectedなら直前の「${ans}終了」ちゃうんけ

459 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 22:01:36.46 .net]
>>451
変数じゃなくしても、終了を消しても、別の変数に変えてもSyntax error: "do" unexpectedは消えませんでした。

460 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 22:17:55.91 .net]
とりあえず「間違いなく動作する」select構文をまず単品で書け
ネットのコピペでも構わん。出来る限りシンプルなやつで
動いたならそれを少しずつ改造して動かしてを繰り返しつつお前の目的に近づけろ

461 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 22:28:27.56 .net]
shでselectってできたっけ

462 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/08(月) 23:44:18.33 .net]
SC2039: In

463 名前: POSIX sh, select loops are undefined.
bashならとりあえず動く、#!/bin/bash にしとけば
[]
[ここ壊れてます]



464 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 23:56:10.56 .net]
>>453
ありがとうございます。コピペ&作り直しでできました。

>>454
Ubuntuでやっていたのでできました。

>>455
書き換えました。


皆様ありがとうございました。
もしかしたら似たようなものがすでにあるかもしれませんが、とりあえずできたものを>>454に貼っておきます。

465 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 23:57:24.21 .net]
#!/bin/bash
PS3="入力してください:"
menu="曖昧 前方一致 後方一致 完全一致 拡張子"
echo "検索するディレクトリを入力してください
入力しなかった場合、このファイルがあるディレクトリを検索します。"
while [ -z "${dir}" ]
do
echo -n "ディレクトリ入力:"
read dir
if [ -e "${dir}" ];then
break
else
unset dir
echo "そのようなディレクトリはありません。"
fi
done
echo "検索方法を選択してください:"
>>455に続く

466 名前:名無しさん@お腹いっぱい。 [2018/01/08(月) 23:58:02.00 .net]
>>457続き
select var in ${menu}
do
echo ["${var}"]で検索します。
echo -n "検索する単語を入力してください:"
read que
case "${var}" in
曖昧)
ans=$(find ${dir} -name *"${que}"*);;
前方一致)
ans=$(find ${dir} -name "${que}"*);;
後方一致)
ans=$(find ${dir} -name *"${que}");;
完全一致)
ans=$(find ${dir} -name "${que}");;
拡張子)
ans=$(find ${dir} -name *."${que}");;
esac
echo "${ans}"
exit
done

467 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/09(火) 07:32:28.94 .net]
正直見辛いしその程度なら一行コマンド打つんでいらないっす

468 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/09(火) 12:43:53.77 .net]
* が展開されてうまく動かなかった

469 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/09(火) 20:01:44.41 .net]
Linuxの話ならLinux板で聞いてください

470 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/10(水) 13:12:44.56 .net]
odコマンドって規定で行番号は付くは省略するわでほんとUNIX哲学的じゃねーな
xxdとかのほうが遥かに扱いやすいわ

471 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/10(水) 16:21:53.96 .net]
行番号ちゃうし

472 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/11(木) 12:57:39.11 .net]
od -An -v

473 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/13(土) 15:24:43.34 .net]
規定がっていう話でしょ
それと同じで ls も規定で勝手に表示を整えるのをやめてほしい。
Plan 9のlsは規定でls -1みたいな挙動らしいけど。



474 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/13(土) 15:30:27.80 .net]
規定なら従っといた方がいいじゃん
罰則あるかもしれんし

475 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/13(土) 15:31:53.68 .net]
それは規約じゃ

476 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/13(土) 19:01:27.06 .net]
default = 既定

477 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/13(土) 22:58:37.21 .net]
違反すると罰則あるのは規定じゃなくて規約だろって話

478 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 10:57:30.90 .net]
だから「Default=規定」って書いたんじゃねーの?
規約じゃないって意味で。

479 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 11:45:22.78 .net]
ワケワカメ

480 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 15:52:04.52 .net]
なんだこの流れ
全員頭悪いの?

481 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 16:00:17.68 .net]
流れ?

482 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 16:20:16.87 .net]
全次郎?

483 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 17:49:06.78 .net]
規約じゃなくて規定なら別に従う必要ないって話なだけじゃないのか



484 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 17:50:28.44 .net]
default=既定≠規定

485 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 19:12:18.41 .net]
>>465の誤字を>>466が茶化したのに理解されずにグダグダになった流れ

486 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 19:28:08.33 .net]
すまん誤字に全く気付かなかった

487 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/14(日) 19:34:54.90 .net]
あーなるほどそういうことか。
普通に「既定」に脳内変換してたせいで意味不明な喧嘩に見えてたわ

488 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/15(月) 00:06:01.79 .net]
脳内変換てw馬鹿なだけやんかw

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/15(月) 08:02:47.35 .net]
すぐそうやって火種を撒く……

490 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/15(月) 22:28:34.05 .net]
$'\n' こういう $'何か' っていう書き方って bash 限定?
sh でもいける?

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/16(火) 12:48:12.73 .net]
bash限定

492 名前:名無しさん@お腹いっぱい。 mailto:age [2018/01/16(火) 15:07:55.74 .net]
POSIX xargs
pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html
には-0オプションがありませんが,どうにかしてxargsにナル文字区切りのデータを渡せませんかね。
もしくは xargs -0 がエラーになるOSをご存知でしたら教えて下

493 名前:さい。
FreeBSD, MacOS, Debian GNU/Linuxともにxargsに-0オプションはありました。
[]
[ここ壊れてます]



494 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/16(火) 16:09:39.07 .net]
Solarisとかあやしそうだね

495 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/17(水) 00:51:10.26 .net]
>>485
そうみたいね
https://unix.stackexchange.com/questions/67193/solaris-xargs-command-for-solaris
https://docs.oracle.com/cd/E19253-01/819-1210/6n3j74k03/index.html

496 名前:481 mailto:sage [2018/01/17(水) 04:46:35.14 .net]
>>485
>>486
ありがとうございます。
ファイルパスに関するシェルスクリプトを作ろうとしており,
ファイル名に改行文字が含まれている場合を考慮してナル文字区切りでデータを扱いたかったのです。
が,もうそんな特殊なファイル名にしている側の責任ってことにします。
仕事だったらもうちょっと考えるところですが個人で扱うので自分が気をつければいいだけなんで。

リンク等ありがとうございました。

497 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/17(水) 08:37:13.99 .net]
pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
POSIXのfindには+終端もあるみたいだから、
用途によってはxargsを使わずに変なファイル名が扱えることもある。
例によってSolarisにはないが、POSIXに準拠してないということで切れる。

498 名前:481 mailto:sage [2018/01/17(水) 09:45:47.24 .net]
>>488
ありがとうございます。

> 例によってSolarisにはないが、POSIXに準拠してないということで切れる。

恥かしながらSolaisってPOSIX準拠を謳っていないことを今知りました……
よくシステムコールAPIの説明で「SolaisまたはPOSIX」とありますが,
その真意をようやく掴めました。

---
awkのRSにナル文字を指定できればxargsの代替として使えるかもしれないと思ったんですが,
$ printf '%s\0%s\0%s' 'First' 'Second' 'Third' | awk -v RS="$(printf '\0')" '{ print $0 }'
みたいなことをやっても撥ねられる
(シェルがナル文字についての警告を出して,「FirstSecondThird」とだけ表示される)
のでやっぱりナル区切りを扱うのはやめておこうと思いました。
大人しく空白区切り・改行レコードで行きます。

499 名前:481 mailto:sage [2018/01/17(水) 09:55:31.15 .net]
なんかこうすると上手く行った (ように見えます)。

$ printf '%s\0%s\0%s' 'First' 'Second' 'Third' | \
awk ' \
BEGIN {
RS="\0"
ORS="\n"
}
{
print
} \
'

なんでこれが良くて >>489 がだめなのか分からないのが怖いので結局ナル文字区切りはやめることにしました。
連投&スレ汚し失礼しました。

500 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/18(木) 11:41:43.86 .net]
sedでiフラグをdフラグと一緒に使うことはできないのでしょうか。

501 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/18(木) 11:44:10.00 .net]

sed
mevius.2ch.net/test/read.cgi/unix/1085730992/

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/18(木) 19:40:41.47 .net]
>>492
誘導ありがとうございます。一応の解決を見ました。

503 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/26(金) 00:50:46.41 .net]
hoge.sh <(cat hoge.txt fuga.txt piyo.txt)

### hoge.sh
#!/bin/bash
wc -l $1 # 正しい行数
wc -l $1 # なぜか0

おせーてエロいひと



504 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/01/26(金) 06:57:46.46 .net]
>>494
つ cat hoge.txt fuga.txt piyo.txt | (wc -l; wc -l)

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/01(木) 22:35:58.02 .net]
こういうhoge.shがあったとして
```
#!/bin/bash
set -x
for x in aa bb cc; do
echo $x
done
```
実行するとこうなる
```
$ bash hoge.sh
+ for x in aa bb cc
+ echo aa
aa
+ for x in aa bb cc
+ echo bb
bb
+ for x in aa bb cc
+ echo cc
cc
```
けどこうしたい(forやifが出力されないようにしたい)
```
$ bash hoge.sh
+ echo aa
aa
+ echo bb
bb
+ echo cc
cc
```
どうしたらいい?

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/01(木) 22:38:33.65 .net]
つづき。ためしにこうしてみた
```
#!/bin/bash
for x in aa bb cc; do
set -x
echo $x
set +x
done
```
実行したら set +x も表示された(これは

507 名前:いらない)
```
$ bash hoge.sh
+ echo aa
aa
+ set +x
+ echo bb
bb
+ set +x
+ echo cc
cc
+ set +x
```
[]
[ここ壊れてます]

508 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/01(木) 22:40:28.83 .net]
grep -vでもしたら

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/01(木) 23:21:30.45 .net]
echo $x
の前に
echo + echo $x
と記述する

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/01(木) 23:48:49.07 .net]
bashだからじゃね?

511 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/02(金) 01:26:01.46 .net]
fishてどう?

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/02(金) 01:47:58.90 .net]
$ cat hoge.sh
#!/bin/bash
for x in aa bb cc; do
(set -x
echo $x)
done

$ bash hoge.sh
+ echo aa
aa
+ echo bb
bb
+ echo cc
cc

なんつって

513 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/02(金) 08:54:06.42 .net]
>>502
> (set -x
> echo $x)
この方法でできました。ありがとうございます。
もっと簡潔に書けるといいのだけど。



514 名前:名無しさん@お腹いっぱい。 [2018/02/08(木) 16:21:59.61 .net]
すんませんけど 今割り当て端末数からこんな感じでサブネットマスクを出すのを作ったんですけど
i=256;j=0 ; while [ ! $i -eq 1 ] ; do i=$(( $i /2 ));echo $i; j=$(($j + 1)) ; done ;echo ans:$((32 - $j))

もっとてっとり早く出すコマンドはありませんか? できれば256を入れたら8とかさっさと返してくれるような奴を
あとよくわからんけど 計算で256と2を入力したら後ろの8とかを出すコマンドはないですか?
覚えるとか調べるは嫌いなんで、なるべく手間のかからないものを教えてください
 

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/08(木) 17:19:18.65 .net]
サブネットマスクぐらい暗記か手計算しろよ

516 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/08(木) 18:06:11.03 .net]
>覚えるとか調べるは嫌いなんで、

生きてる意味あんのか、これで?

517 名前:名無しさん@お腹いっぱい。 [2018/02/08(木) 19:05:19.51 .net]
>>505
手間がかかるから面倒だよ
20万以上やるし

ああ これででるのね うしろに変なゴミが付いてるがどうでもいいか
:echo " l(65556)/l(2)" | bc -l
16.00044020841915062248
:echo " l(1024)/l(2)" | bc -l
10.00000000000000000010
>>506
また努力するするのが誇らしいとか思ってる馬鹿?ww
俺が考えるならこの機械とか利用価値はないよ
ゲーム開発のUNITYのスレに行けば似たような奴が沢山いるよ

まぁしばらくはマシーンを買う金がないからlinuxとイヤイヤ付き合うしかないが
ほんと手間がかかるな

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/08(木) 19:20:30.57 .net]
ある意味面白いやつだな

519 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/08(木) 20:11:48.67 .net]
>また努力するするのが誇らしいとか思ってる馬鹿?ww

こんなこと考えたこともないけど
思い込みが激しいっていうか頭腐ってるだろ
ああ死んでるんだったっけ

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/08(木) 20:31:31.63 .net]
落ち着け

521 名前:名無しさん@お腹いっぱい。 [2018/02/08(木) 20:57:59.75 .net]
>>509
そういう手間が掛かるのはちょっと…
利用価値がないし

522 名前:名無しさん@お腹いっぱい。 [2018/02/08(木) 21:47:56.46 .net]
バイト雇って計算してもらいましょう

523 名前:名無しさん@お腹いっぱい。 [2018/02/08(木) 23:17:47.05 .net]
>>512
俺自体が無職だよ

さて間抜けからビットコインを盗まんと



524 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/09(金) 01:51:26.42 .net]
>>513
頼むわ
間抜けは存在自体がガンだから

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/02/09(金) 09:19:26.94 .net]
犯罪の予告と教唆かよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef