blkidエントリに指定されたファイルシステムタイプのbash変数を設定しようとする/etc/init.dファイルへの/etc/rc.d/S11リンクがあります。
root@OpenWrt:/# blkid /dev/mmcblk1p3
/dev/mmcblk1p3: UUID="77111d8a-feb7-470c-a489-ffa0e5415c4c" TYPE="f2fs"
root@OpenWrt:/#
awk
コマンドにaを追加しようとしました。
root@OpenWrt:/# blkid /dev/mmcblk1p3 | awk '{print $3}'
TYPE="f2fs"
root@OpenWrt:/#
理想的にはこれだけ必要f2fs
で、他は必要ありません。awk -F = '{print $3}'
返品の使用
root@OpenWrt:/# blkid /dev/mmcblk1p3 | awk -F = '{print $3}'
"f2fs"
root@OpenWrt:/#
スクリプトでは、後でスクリプトで使用できるようにbash変数に設定してみました。
CUR_FS=$(blkid /dev/mmcblk1p3 | awk '{print $3}');
ただし、カーネルログに送信されたデバッグメッセージは空です。
echo "[DEBUG] Shield is in ${SHIELD_MODE} Mode - Using /dev/${MNT_POINT} as ${CUR_FS}" > /dev/kmsg
商品を返す
[ 34.836024] [DEBUG] Shield is in Gateway Mode - Using /dev/mmcblk1p3 as
空です。
誰かがOpenWrtにこの機能がないことを指摘する前にbash
(デフォルトではAshを使用)、カスタムビルドとベーキングを実行していますbash
。
f2fs
誰かが二重引用符なしで最終結果を得る方向を教えてもらえますか?
出力をblkid
ファイルに書き込むと、空のファイルが提供されます。
blkid /dev/mmcblk1p3 2>&1 > /tmp/output
lsblk --noheadings -o FSTYPE /dev/mmcblk1p3 2>&1 > /tmp/output2
編集者注:私のシステムではlsblkとblkidが分離されているので、両方のアプローチを試しました。それでも空白として表示されます。私はとても早く叫んだ?また、$PATH
まだ設定されていない場合に備えて、コマンドにフルハードパスを入力してみました。まだ空です。
編集2:誰かがinitスクリプトがあまりにも早く呼び出されたことを提案しました。S99
ほぼ最後に呼び出され、ファイルシステム呼び出しがまだ空になるようにテスト用のスクリプトを設定しました。
S99extrootは問題のスクリプトです。最初に私はS11
。
K10gpio_switch K99umount S19dropbear S94gpio_switch
K10snort S00sysfixtime S19firewall S95done
K50dropbear S10boot S20network S96led
K85odhcpd S10system S35odhcpd S98sysntpd
K89log S11sysctl S50cron S99extroot
K90network S12log S50uhttpd S99urandom_seed
K90sysfixtime S12rpcd S80ucitrack
K98boot S19dnsmasq S90snort
root@OpenWrt:/#
答え1
init
blkデバイスが利用可能になるまで遅らなければなりませんでした。引き続き確認するようにループに入れて、while true
そうできるようにしますmknod
。