探検


くだらねえ質問はここに書き込め! Part 234

■ このスレッドは過去ログ倉庫に格納されています
2018/11/16(金) 22:58:46.21ID:KePwDHh2
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/

読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。

過去ログ検索
Google検索
https://www.google.com/search?hl=ja&;as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja&;as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F

※前スレ
くだらねえ質問はここに書き込め! Part 233
http://mao.5ch.net/test/read.cgi/linux/1536848825/
2018/12/07(金) 20:28:07.22ID:275uLVTQ
>>281
bash拡張でヒアストリングというやつ
$ hoge <<< ${VAR}

$ echo ${VAR} | hoge
と等価
2018/12/07(金) 22:35:34.11ID:ejPNZuuT
partedのmkpartで
終了の容量を指定するのでなく、
開始から、100GiBのように容量で指定する方法ってありませんか?

※イメージするところ
(parted) mkpart name ext3 50GiB +100GiB
→50GiBの位置から、名前をnameにして、100GiBのパーティションを作成。
284210
垢版 |
2018/12/07(金) 23:01:18.70ID:LUyV1vdc
gdisk
2018/12/08(土) 00:48:14.45ID:HesUPXBI
<<< これってGNU拡張なのか、知らなかった

<<-
286285
垢版 |
2018/12/08(土) 00:48:42.78ID:HesUPXBI
途中でした

<<- これもGNU拡張?
2018/12/08(土) 05:24:25.17ID:efUd6G0J
>>284
ありがとうございます。ほかのコマンドがあったんですね。
2018/12/08(土) 08:30:50.79ID:q3qr8MfH
>>286
それくらい調べようよ

<<-でヒアドキュメント部分の先頭タブ文字が無視されるっていうのは
POSIXで定義されているのでPOSIX sh互換を謳うどのシェルでも使えます。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04
2018/12/08(土) 11:16:09.18ID:+Jbcoor3
先頭タブだけってほんと使えない仕様だよなw
ヒアドキュメントの終わりがインデントできないのも
片手落ちだし
290285
垢版 |
2018/12/08(土) 11:16:21.25ID:HesUPXBI
>>288
すみません、どうもです
2018/12/08(土) 15:01:33.33ID:oXl1wIqx
シェルスクリプトでifやforなどで深くインデントしてるところでヒアドキュメントを入れるのは正直かっこ悪くて好きじゃない
<<-で先頭タブを使ったときもあるけど、まぁ微妙だなと
タブ幅なんてエディタやビューアの設定によるし、そもそもスクリプト内でタブ使うのってどうなのという
2018/12/08(土) 21:03:10.94ID:L02bMxkc
Ruby では、lstrip で、各行の先頭から、連続した空白類(空白・タブ文字など)を取り除く。
各行の先頭には、0〜2個のタブ文字があります

str = <<"EOT"
<div>
<p>
あいう
</p>
</div>
EOT

res = str.each_line.map( &:lstrip )
puts res
2018/12/08(土) 21:10:44.89ID:OedfhKuH
sslのkeyからcsr作る時の対話モードって、手で打つしか無いの?
294login:Penguin
垢版 |
2018/12/09(日) 00:03:51.45ID:253GiW6t
>>293
標準入力から流し込んでもいいよ
2018/12/09(日) 00:09:18.94ID:gB79gozC
grep $'\n'
とするといかなる入力行もマッチするのですが
これは行末の改行にマッチするということですよね?

ところが
echo -n 'abc' | grep $'\n'
とやってもマッチしてしまって改行が存在しないはずなので
解せないのですがこれはどういうことでしょうか

grepコマンドは改行のない入力でも自前で改行つけた後に
検索するんでしょうかね
2018/12/09(日) 00:54:28.93ID:1ArFEYUd
WindowsやmacOSのアプリケーションストアと、Linuxのパッケージ管理システムの違いってなんですか?
2018/12/09(日) 03:02:09.82ID:4X3RO9or
>>294
標準入力から流し込むというのがよくわからなかったのですが
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < 改行が入っているテキスト
これをやってみると、確かに期待通りのものができました。
対話モードがある場合はこういうのができるのですね。
298295
垢版 |
2018/12/09(日) 05:06:48.29ID:gB79gozC
ちなみにヌルもマッチしてしまいますね

$'\0' <-- new
$'\n'
299login:Penguin
垢版 |
2018/12/09(日) 06:59:20.05ID:253GiW6t
>>297
> 対話モードがある場合はこういうのができるのですね。
そうとも限らない
たとえばCSR作るケースだと
鍵にパスワードが設定してある場合はパスワード入力には使えない
そういうときはexpectを使う
2018/12/09(日) 09:29:11.17ID:4X3RO9or
>>299
なるほど、パスを削除していないkeyの時は、2行パスを書くなどは×でexpectを使うのですね。
一度使ったことがありましたが少し面倒でした。ありがとうございます。
301login:Penguin
垢版 |
2018/12/09(日) 11:15:57.19ID:/RuDibjk
>>295
空文字列に一致している
改行はパターンの一部ではなく、複数のパターンの区切り

$ echo -n 'abc' | grep -o 'a
b'
a
b
$

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html
> The pattern_list's value shall consist of one or more patterns separated by <newline> characters;
302login:Penguin
垢版 |
2018/12/09(日) 13:18:32.17ID:/RuDibjk
>>298
bashの場合、コマンドを実行するよりも前の時点で
bashが引数に含まれるNULを取り除いている

$ echo ab$'\0'c | hexdump -c
0000000 a b c \n
0000004

なのでbashでは
grep $'\0' は grep '' と同じで
grep ab$'\0'c は grep abc と同じ

zshではNULを含む引数もそのままコマンドに渡しているので違う結果になる
303login:Penguin
垢版 |
2018/12/09(日) 14:31:12.11ID:oLpqFNSA
昔はttyの1番にだけ背景にペンギンの絵とか表示されてたと思うんだけど
これっていつから無くなったの?
KMS導入後?
304297
垢版 |
2018/12/09(日) 19:39:15.97ID:4X3RO9or
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < 改行が入っているテキスト
をファイルを使わずにシェルスクリプトにして変数にして読み込ませたいのですが、

STD_IN="JP\nTokyo\nChuo-ku\n(省略)"
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < ${STD_IN}

とやっても、ファイルが見つかりませんと出てしまいました。
変数の入れ方は1行に入れるのか、ヒアドキュメントみたいな形にもできるのか、

< には変数は使えないのでしょうか?
2018/12/09(日) 20:03:18.84ID:ECj7FB1h
>>304
少し上にも出てたけど
openssl ... <<< ${STD_IN}
2018/12/09(日) 20:41:30.18ID:4X3RO9or
>>305
ありがとうございます!
bash拡張でこんなのがあるのですね。
2018/12/10(月) 00:05:25.99ID:SK07uHh5
>>292
Rubyではそんなことしない。
お前Rubyの勉強したほうがいいぞw
308295
垢版 |
2018/12/10(月) 01:47:07.69ID:iaZVXIYt
>>301-302

そういうことだったんですね
grepにパターンを分割してわたす方法は-eオプションを複数用いるのが
唯一かと思っていましたが、改行区切りでもわたせるんですね

grep $'??n'$'??n'

このようにしても同じことのようですね
ただ

grep $'??n' $'??n'

このようにスペースを挟むとスペース以降はファイルを指定する
引数とみなされ空文字なのでエラーとなるようです

ヌル文字をシェルが除去するのも知りませんでした

これですっきりしました、ありがとうございました
309295
垢版 |
2018/12/10(月) 01:48:55.68ID:iaZVXIYt
文字間違えました
?? → \
310295
垢版 |
2018/12/10(月) 07:24:44.06ID:rDY5Jm5J
1つ誤解がありましたので訂正します
grep $'\n' $'\n'
とするとスペースの後ろの改行文字自体をファイルとして指定したと
解釈されてエラーになるようです
311login:Penguin
垢版 |
2018/12/13(木) 07:59:27.16ID:BpuyFdNl
age
2018/12/13(木) 08:47:58.94ID:YYFyHPut
$ echo "
> foo
> bar"

foo
bar
引用符一つ入れると改行できたのね・・・
ヒアストリングも<<<"でできるようだし
echo -eだのprintfだの`cat -`だの色々やってたわ
2018/12/13(木) 09:47:14.64ID:g4Xg+Gp3
[[ -z $hoge ]] や [[ -n $hoge ]]
って必要ですか?

[[ $hoge ]] とか [[ ! $hoge ]] で代用できそうなんですが…

何が違うんでしょ
2018/12/13(木) 10:41:51.23ID:9d5jxDGh
>>313
もし$hogeの値が「-e /dev/null」とかだったらどうするのよ。
2018/12/13(木) 11:07:49.54ID:2p8AEIUJ
>>314
何も問題ないですよね?
316313
垢版 |
2018/12/13(木) 11:09:28.18ID:g4Xg+Gp3
>>314
自分も試してみましたが、問題ないようです
317313
垢版 |
2018/12/13(木) 12:10:25.19ID:g4Xg+Gp3
さらにいろいろ試してみましたが
変数の内容がオプションと解釈されてしまって真偽値に影響がでるケースとして

hoge='-e unknown'
[ $hoge ] || echo null

とやってみるとhogeは空でも未定義でもないのに
nullと表示されてしまい、本来の意図とは違う結果になるようです

ただこれも解決方法があり
[ "$hoge" ] || echo null
とすれば意図したテストができるようです
もとより[[を使えば引用符もいらないみたいですね
[ ]の中で変数を二重引用符で囲むのは常識(?)のようなので
やはり-nや-zの必要性がない気がします

[[が無い時代(そんな時代があるのか知りませんが)の産物なんですかね
2018/12/13(木) 12:33:39.42ID:2p8AEIUJ
>>317
[[ は POSIX非標準。古い新しいではなくbashによって追加された拡張構文
POSIX標準のシェルは対応しない。POSIX標準のシェルには、debianの
デフォルトシェルであるdashやyashやposhがある
どのシェルでも動くようにするならば、[[ は使ってはいけない
319313
垢版 |
2018/12/13(木) 12:39:41.77ID:g4Xg+Gp3
>>318
そうなんですね
じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が
変数の内容を意図せずオプションと解釈されてしまう場合でも
エラーになって気づくので安全と言えば安全なのかもしれませんね
うっかり変数を引用符で囲み忘れる場合もあるだろうし
2018/12/13(木) 12:47:43.62ID:2p8AEIUJ
> じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が

俺は使わない。ダブルクォート忘れで困るのは、ここだけじゃない
コマンド呼び出しの、foo "$hoge" "$hage" "$tsuru" "$pika" とかも全部そう。
忘れるとか、そんなもんshellcheckを使えばすぐに解決するんだから気にすることじゃない
そもそもダブルクォートをつけ忘れは、-nや-zを使っても解決しない。
2018/12/13(木) 12:52:21.57ID:2p8AEIUJ
まあ-zは使うけどな。単に読みやすさのため。
否定というのは場合によっては分かりづらくなる

「空文字なら」 は -z(ゼロの長さなら)で読みやすい
「文字があるの否定」は分かりづらい

「文字がある」はわかりやすいが
-n は no? 文字がノーってことか?で分かりづらい
文字があるという状態を示すために、nを割り当てたやつはセンスがない
322313
垢版 |
2018/12/13(木) 13:11:04.56ID:g4Xg+Gp3
最近の言語を何かしらやってる人間にとっては変数の空文字列チェックを
変数そのものでやるというのも馴染みがあってわかりやすいので
できればそうしたいと思ったんですよね

最初の質問の趣旨に戻りますが、-zや-nを使わなくても同等のテストが
できるということで間違いないなら

[[ $hoge ]] [[ ! $hoge ]]

[ "$hoge" ] [ ! "$hoge" ]
の方が個人的には読みやすいかな

よくよく考えたら自分はbashしか使わないので便利な[[で事足りそう
2018/12/13(木) 13:17:06.99ID:9d5jxDGh
-zや-nは文字列長を判定するのに対して<string>は文字列そのものを判定するっていう違いがあるけど
引用符で囲った場合においてこれらに動作上の違いがあるのか俺には分からん。
少なくとも今のところない。
2018/12/13(木) 14:50:24.14ID:YYFyHPut
testが[としてbashに内蔵されてて驚く
両方ともなぜか外部コマンドもあって驚く
[[が機能多いのにただのbashの方言で驚く

$ type -a test [ [[
test はシェル組み込み関数です
test は /usr/bin/test です
[ はシェル組み込み関数です
[ は /usr/bin/[ です
[[ はシェルの予約語です
2018/12/13(木) 16:04:43.42ID:2p8AEIUJ
> testが[としてbashに内蔵されてて驚く

[ が内蔵されてないシェルなんて知らんのだが?
そんなもん現実に存在するのか?
2018/12/13(木) 16:21:22.10ID:9d5jxDGh
>>325
https://www.unix.com/man-page/v7/1/sh/
2018/12/13(木) 16:33:21.95ID:2p8AEIUJ
>>326
マニュアルが有るのはわかったが、
シェルはどこに存在してるんだ?
2018/12/13(木) 16:40:17.41ID:2p8AEIUJ
もはや神話の世界だな

testが組み込みでないシェルは、コメントも使えないシェルということか

https://ja.wikipedia.org/wiki/Bourne_Shell

> UNIX System III(1981年)
> test コマンドを組み込み。
> # でコメントを書き込めるようになった。

さらに関数数定義も出来ず、Unicodeも扱えないようだ
そんなもん現存してないだろう

> SVR3(1986年)
> 現在のような "$@" の用法
> getopts 組み込み
> パラメータ処理を改善し、関数の再帰呼び出しが可能となった。
> 8ビットクリーン
2018/12/13(木) 17:17:18.77ID:9d5jxDGh
「手元にない」ということと「存在を考えなくていい」とは別物だからね。
2018/12/13(木) 17:22:00.60ID:YYFyHPut
globも元は外部コマンドとかも調べなきゃ分からんわ
フィルタをグロブと呼ぶ変わった宗教って認識だったからな
2018/12/13(木) 17:24:32.47ID:2p8AEIUJ
>>329
だからどこに存在しているんですか?
2018/12/13(木) 18:43:38.57ID:5CGSaiem
>>331
我が家のSun OS 4の/bin/sh。
2018/12/13(木) 19:03:57.29ID:2p8AEIUJ
https://ja.wikipedia.org/wiki/SunOS
> SunOS 4.1.4 1994年11月

俺が生まれる前かよw
2018/12/13(木) 19:05:54.68ID:2p8AEIUJ
> SunOS 4.1.1インストール媒体(磁気テープ)

この画像に驚愕した
ビデオテープかよw
335login:Penguin
垢版 |
2018/12/13(木) 19:16:08.14ID:2U4H8MIt
いや磁気テープは現役ですし……
2018/12/13(木) 19:16:28.93ID:Zfs8AO7d
2018/12/13(木) 19:22:26.58ID:2p8AEIUJ
sunos 4.1 4 download でぐぐったら出てきた
x86用があったから解凍してみたら、
拡張子img(フロッピーディスク?)のファイルが36個でてきた
これ動くのか? 確認したくてもよくわからん

https://winworldpc.com/product/sunos/4x
338login:Penguin
垢版 |
2018/12/13(木) 20:01:43.60ID:Kpl2TedD
cshにもtcshにも組み込まれてないが
testも[も
2018/12/13(木) 20:06:06.97ID:2p8AEIUJ
$ csh
solaris% type test
test is a shell builtin
solaris% tcsh
> type test
test is a shell builtin
2018/12/13(木) 20:15:29.66ID:FwJygUTm
>>337
VMWareでもVirtualBoxでも用意してやってみろ
インテルなら多分動く
341login:Penguin
垢版 |
2018/12/13(木) 21:22:46.92ID:Kpl2TedD
>>339
その"type"ってのも無いんだけど?
command not found って出る
2018/12/13(木) 21:24:27.86ID:2p8AEIUJ
劣化版なのでは?
2018/12/13(木) 21:36:41.38ID:rsnZtD/M
磁気テープ知らん奴がいるのか・・・
俺も歳を取るわけだ・・・ ハーー
2018/12/13(木) 21:39:29.69ID:rk530vyH
磁気テープがバックアップ媒体でバリバリ現役なんだぜ。
345login:Penguin
垢版 |
2018/12/13(木) 22:44:49.64ID:jQhV0FO+
>>343
オープンリールのテープならともかくqicなんてddsの前位だろ。あんたも俺もまだ若造だよ。ハー。
2018/12/14(金) 00:56:12.74ID:Dwi6kCsC
フラッシュメモリや円盤の耐用年数は、5年だろ

一方、磁気テープは、30年とかだろ
2018/12/14(金) 02:31:43.32ID:WFElEHpX
磁気テープってなんかロマンあるよね。実際見たことないけどw
2018/12/14(金) 03:07:09.17ID:GpLUKSLa
俺も知らなかった
当時高価なUNIXとは無関係なごく一般的なパソヲタはこういう流れだから特殊なものだと思った方がいい
オーディオ用アナログカセットテープ → 5インチフロッピーディスク → 3.5インチフロッピーディスク → 3.5インチMO → CD-R/RW → USBメモリ
2018/12/14(金) 03:23:33.89ID:vny8+/a7
オーディオ用カセットテープ??
2018/12/14(金) 03:37:12.47ID:GpLUKSLa
あれ?mz700とかの媒体ってオーディオ用のやつでしょ?キーガーとか音出しながらアナログからデジタルに変換して読み込むの
2018/12/14(金) 03:47:46.28ID:CQSYnmf/
勘違いしとるな
 
ドライブ本体が安けりゃ欲しい
2018/12/14(金) 03:53:05.65ID:GpLUKSLa
そりゃ誰だって欲しいw
2018/12/14(金) 07:09:46.63ID:tfnsNf0y
>>349
PC6001の時代だよ。
16KBの増設メモリーが8トラのカセット位の大きさ。
データはカセットでメモる。
2018/12/14(金) 08:28:09.81ID:WFElEHpX
sudoeditで起動したエディタに元のファイルの名前を渡す方法ってありますか。
sudoeditでファイルを読み込むと/var/tmp/以下に一時的なファイルが作成されるんだが
VimやEmacsなどの一部のエディタは設定ファイルの名前をもとにシンタックスの種類を決定することがある。
だから/var/tmp/にファイルが作成されるとその機能が使えなくなってしまう。
例えば/etc/fstabを編集するとき、エディタは「/etc/fstab」というファイルの名前からfstab用のシンタックスを適用してくれるんだけど
$ sudoedit /etc/fstab
とやって編集するとファイルが/var/tmp/XXXXXXXに移動してしまいfstab用のシンタックスが適用されなくなってしまう。
2018/12/14(金) 08:32:28.30ID:JQUDZnsy
磁気テープが現役でしかもTB単位とかロマンを感じる
カセットやVHSは知っててもで大型用は写真でしか知らんからな
でかいリール使ってるあれって速度的にはどうなん
2018/12/14(金) 08:46:11.55ID:ovdRZLka
LTOはそれなりに速い
2018/12/14(金) 10:10:30.61ID:ikwr+G0A
普通のHDDより速いね
バックアップなんてどうせシーケンシャルアクセスしかしないし
2018/12/14(金) 15:27:57.27ID:WFElEHpX
>>357
まじで?
カセットテープの話だよね? あれがHDDに読み出し速度で勝るとは思えないんだけど
構造が特殊なのかな。パソコン用のカセットテープは。
2018/12/14(金) 16:10:21.55ID:ikwr+G0A
LTOすら知らんのかよ・・・
2018/12/14(金) 16:25:29.45ID:mnvRUogY
tape archivesのテープってひょっとしてそれのこと?
2018/12/14(金) 18:01:54.87ID:4OG2vapp
ここ4〜5レスは、レベルが違いすぎて議論が噛み合っていない。
見ていて楽しいwww
2018/12/14(金) 18:39:29.51ID:WFElEHpX
見ていて楽しい(話についていけない)
2018/12/14(金) 18:59:48.09ID:C13Zox/x
Sun のが 2400ボーだったら気が遠くなりますw
2018/12/14(金) 19:01:50.13ID:Wd54hADz
ハタボーだふぉーん
2018/12/14(金) 20:34:41.75ID:Ek1UBBLm
>>358
読み書き位置を決める動作はHDDのシークとかよりテープの方が簡単
だと素人目にも感じない?
2018/12/14(金) 21:05:02.67ID:t7Qx0ST8
>>355
こんな奴の話ならテープの絶対速度はかなり早くて120inch(3mちょい)/s程度
ただ記録密度が低いからデータ転送速度はたいしたことなくて200kb/s程度
http://museum.ipsj.or.jp/computer/device/magnetic_tape/images/0017_01_l.jpg
2018/12/14(金) 21:07:11.37ID:t7Qx0ST8
すまん200kB/sだ
2018/12/14(金) 22:31:25.17ID:JweqMLAi
>>366
どうせ貼るなら詳細が書かれているhtmlページの方を貼ってほしかった
http://museum.ipsj.or.jp/computer/device/magnetic_tape/0017.html
1971年の製品か
2018/12/15(土) 00:06:51.68ID:SNg57Q0S
>>354
https://vi.stackexchange.com/questions/6784/how-can-i-automate-filetype-detection-when-using-sudoedit
2018/12/15(土) 15:05:37.62ID:+Je+pouF
LinuxでつかえるUSB経由でHDMIキャプチャできる機器ってありますか?
この手の機器をつかったことがないのでセットアップ方法まで参照があると嬉しいです。
2018/12/15(土) 15:17:43.20ID:yMwJjzRz
>>370
画面記録ソフトウェアのこと?
Kazamとかじゃだめなん?
2018/12/15(土) 15:19:15.58ID:+Je+pouF
>>371
メインはハードウェアとして、です。
ただソフトウェアもどんなものがあるかはよく知らないです。
2018/12/15(土) 17:54:53.40ID:2dFVGCpB
データセンターでのバックアップ磁気媒体はLTOが主体だと思うんだが
2018/12/15(土) 18:27:40.50ID:nBxd7crP
https://blog.shiftky.net/linux-lto-tape-drive-management-commands/
元々のtarは記録用だったのか
随分意味合いが変わったもんだな
2018/12/15(土) 19:40:36.94ID:KHYgPvB0
iconvのiってどういう意味?
2018/12/15(土) 20:22:21.71ID:PhlF7L7j
>>375
[I]nternational Codeset [Conv]ersion Library
2018/12/16(日) 02:11:05.50ID:sSzOptpz
bashについてお伺いします
ファイルの各行を1つの要素とする配列を簡単に作る方法を模索しています
データには空白文字が含まれている可能性があり、そこで要素に分割されないように
空白文字を保護する必要があります
ループ回して1行読み込んでは配列に追加するという方法なら確実かと思いますが
簡潔にできないかと考えたあげく出たのが次のコードです

eval array=( $( cat file | sed "s/.*/'&'/" ) )

各行の先頭と末尾にシングルクォートを追加した上で、evalに再解釈させるという方法です
(話の単純化のためデータには元々シングルクオートが含まれていないとします)

この方法は一見うまくいったようでした
空白文字の箇所で区切られることなく1つの要素に収まりました
しかし連続するスペースが1つのスペースに圧縮されていることに気づきました
これはevalが実行される前に、連続するスペースが要素の区切りと見なされ
1つのスペースに整形されてしまうのが原因ではないかと考えています

そこで質問としては、うまくいかない理由の認識はあっていますか?
それと他にこの目的を簡単に達成できるような方法はありますか?
2018/12/16(日) 02:28:50.33ID:08XRGqAB
ループ回して1行読み込んでは配列に追加しろ
つーか、1行読んで1行ずつ処理すれば?
379login:Penguin
垢版 |
2018/12/16(日) 03:14:23.64ID:648j88pB
>>377
> うまくいかない理由の認識はあっていますか?

あってると思う
evalの引数を引用符で括れば良さげ

eval "array=( $( cat file | sed "s/.*/'&'/" ) )"

> 他にこの目的を簡単に達成できるような方法はありますか?

mapfile -t array <file
380377
垢版 |
2018/12/16(日) 03:47:54.79ID:sSzOptpz
>>379
ありがとうございます
勉強になりました
2018/12/16(日) 04:43:24.46ID:84KMWPj3
mapfileなんて知らんかったわ
すげえな
382377
垢版 |
2018/12/16(日) 05:08:03.31ID:sSzOptpz
mapfileというのはbash4.0からの機能みたいですね

mapfileがない場合は最終的に次のコードに落ち着きました

eval "array=( $( cat file | sed "s/'/'\\\''/g; s/.*/'&'/" ) )"
(シングルクォート保護版)

しかし無駄な努力に終わってしまった…
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況