udisksctl:ローカライズされた出力を解析せずにループデバイスとマウントポイントを取得しますか?

udisksctl:ローカライズされた出力を解析せずにループデバイスとマウントポイントを取得しますか?

udisksctlファイルシステムイメージを操作するときに私が選択したツールです(最近の例しかし、私はこのようなことをしてきました。どこでも)。

ダンスは通常次のとおりです。

fallocate -l ${img_size} filesystem.img
mkfs.${fs} filesystem.img

# Set up loop device as regular user
loopback=$(udisksctl loop-setup -b "${img_file}" | sed 's/.* \([^ ]*\)\.$/\1/')

# Mount as regular user
mounted=$(udisksctl mount -b "${loopback}" | sed 's/^.* \([^ ]*\)$/\1/')

# Do the testing/benchmarking/file management
# e.g.:
cp -- "${files[@]}" "${mounted}"

udisksctl正直なところ、私は構文解析方法に悪い感じがあります。これは明らかに人工的な文字列です:

Mapped file filesystem.img as /dev/loop0.
Mounted /dev/loop1 at /run/media/marcus/E954-81FB

私は誰も実際の形式「API」を考慮していないと思います。したがって、私のスクリプトが後でクラッシュする可能性があります! (画像ファイル名に改行文字が含まれていると鼻鬼が発生します。)

udisksctl「陶器」出力オプションやそれに似たものはないようです。udisksctl正確で明確な出力でudisks2を介してユーザー権限でループバックインストールを実行する既存の方法はありますか?

ベストアンサー1

おすすめ記事