[過去ログ]
シェルスクリプト総合 その27 (1002レス)
シェルスクリプト総合 その27 http://mevius.5ch.net/test/read.cgi/unix/1525337663/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
212: 名無しさん@お腹いっぱい。 [sage] 2018/06/06(水) 09:02:34.23 aaa=(888 犬 `date +"%Y%m%d"010000 -d last-sunday`) bbb=(777 猫 `date +"%Y%m%d"150000 -d last-Saturday`) ccc=(666 鳥 `date +"%Y%m%d"000000 -d last-friday`) for hoge in "$aaa" "$bbb" "$ccc" do if [ -e ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 ]; then exit 0 else ffmpeg -i ~/output/${hoge[2]}-${hoge[0]}.aac ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 fi done こんな感じのスクリプト書いたのですが、配列が展開してくれません。 どうすれば変数に入れた配列が機能するでしょうか アドバイスお願いします。 http://mevius.5ch.net/test/read.cgi/unix/1525337663/212
214: 名無しさん@お腹いっぱい。 [sage] 2018/06/06(水) 09:51:56.75 >>212 配列はbash専用機能なので使うな http://mevius.5ch.net/test/read.cgi/unix/1525337663/214
248: 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 02:03:34.31 >>212 for hoge in "$aaa" "$bbb" "$ccc" "$aaa" "$bbb" "$ccc"は、最初のアイテムを示すだけ(888, 777, 666)で間違い "${aaa[@]"が正しいもしくはとしたかったのだろうが、だったらforの機能的にも変数をArrayにする必要はないだろう。その記述以下でなんかするのでないなら aaa/bbb/cccは単なる文字列として、for内で必要となったらArrayに分解すれば簡単に目的は達成するだろう (てか、配列にするならaaa/bbb/cccなんて個々の変数じゃなくてそれこそそれを配列にすればいいのにと思うけど) aaa="888 犬 `date +"%Y%m%d"010000 -d last-sunday`" ... for fuga in "$aaa" "$bbb" "$ccc" do hoge=$($fuga) if [ -e ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 ]; then ... http://mevius.5ch.net/test/read.cgi/unix/1525337663/248
254: 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 12:21:50.51 >>248 ありがとうございます。 実は他の方のレスを見て、関数というものを調べて ある程度スッキリしたコードにできたのですが 当初自分の頭で考えていた>>212のようなコードがが動くようにご指摘いただけたのは 非常に助かりました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/unix/1525337663/254
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.044s