我目前有以下脚本。当我需要安装所描述的磁盘时,我手动运行此命令。我不需要/希望在启动时自动安装该磁盘:
disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
sudo cryptsetup luksOpen "${disk1}" disk1-crypt
sudo mount /dev/mapper/disk1-crypt /mnt/disk1
是否可以设置 Linux,使其知道在我尝试挂载此磁盘时自动执行 luksOpen 命令?如果可能的话,卸载时也请关闭。
答案1
这不是一个优雅的解决方案,但它可能适合您的用例(这绝对是我自己解决它的方式)。
您可以创建一个 bash 脚本,将mount
命令覆盖为别名,检查参数并在传递该确切参数时执行所需的操作,mount
在传递其他任何内容时回退到实际命令。
看看这个脚本:
#!/bin/bash
mount_disk1 () {
disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
sudo cryptsetup luksOpen "${disk1}" disk1-crypt
sudo mount /dev/mapper/disk1-crypt /mnt/disk1
}
[[ "$@" == "disk1" ]] && mount_disk1 \
|| mount "$@"
这里你有一个可以完成你想要的功能。如果您传递给它的唯一内容是disk1
它将执行该函数,否则它将执行mount
传递所有参数的原始函数。
~/.bashrc
您可以将此脚本放在一个文件夹中并在您的或~/.zshrc
使用中设置别名
alias mount='<path to script>'
然后如果你想使用原来的mount
,你可以\mount
在终端中运行。
希望它(再次)有帮助!