/dev/sdaを/dev/mmcblkデバイスにしようとしていますが、私が見つけた唯一の方法は、/media/マウントされたUSBドングルを/mnt/にマウントして無期限にマウントすることです。
しかし、無制限のマウントされていないUSBドングルの場合は、/dev/mmcblkを処理するように/dev/を更新できるように/mnt/のマウントポイントをどのように使用する必要がありますか?
答え1
まあ、ここでは何も起こりません。それでも問題が解決しない場合は、お知らせください。
権限で実行script.sh
:
#!/bin/bash
## Test in a directory first
#export BASE_PATH='.'
export BASE_PATH='/dev'
## Device names
export KNAME_DRIVE='sda'
export KNAME_MMC='mmcblk0'
## Character between disk kname and partition number
export PREFIX_DRIVE_PART=''
export PREFIX_MMC_PART='p'
## Symlink for device
ln -s "${BASE_PATH}/${KNAME_DRIVE}" "${BASE_PATH}/${KNAME_MMC}"
## Symlinks for partitions
# Get only two specified columns.
# Filter for desired drive.
# Prints the partition kname.
# xargs -i iterating over lines, {} being the iterator's value
# $'' increasing readability.
# ${VAR1##${VAR2}} being value of first instance of string VAR2 being substracted from string VAR1
lsblk --raw --noheadings -o NAME,KNAME \
| grep "${KNAME_DRIVE}" \
| awk -v kname_drive="${KNAME_DRIVE}" '{
if ($1 != kname_drive) {
print $2
}
}' \
| xargs -i bash -c $'KNAME_DRIVE_PART="{}";
PATH_DESTINATION="${BASE_PATH}/${KNAME_DRIVE_PART}";
PATH_SYMLINK_FILE="${BASE_PATH}/${KNAME_MMC}${PREFIX_MMC_PART}${KNAME_DRIVE_PART##${KNAME_DRIVE}${PREFIX_DRIVE_PART}}";
ln -s ${PATH_DESTINATION} ${PATH_SYMLINK_FILE};
'