パーティションを「再マウント」するスクリプト(マウント解除後にマウント)

パーティションを「再マウント」するスクリプト(マウント解除後にマウント)

NTFS(-3G)とfstabを使っていくつかの実験をしています。 fstab を変更するたびに、以下を実行する必要があります。

sudo umount /mountpoint
sudo mount /mountpoint

検査結果テストをたくさんしているので、毎回umount/mountの組み合わせを発行するのは本当に面倒です。

remountこれら2つのコマンドを1つのスクリプトに結合する方法はありますか?これを行うことができるスイッチはすでにありますか?

  • Ubuntu 10.10を使用しています
  • スクリプトに渡されたすべてのコマンドライン引数は、コマンドに「再送」する必要がありますmount(などを使用できるように)-a-t type
  • 好ましくは最後パラメータは次に渡す必要があります。umount

答え1

シェルで(bashまたは他の互換シェルであると仮定して)次のように実行します。

function remount() { umount "$1" && mount "$1"; }

これで実行するたびに1つずつ実行され、別のremount /whatever実行されます。umountmount

シェルを閉じると、ファイルの有効期限が切れます。したがって、それを続行するには、に入れるか、状況に適用される項目を入れ.bashrcます。.profile

答え2

mount <something> -o remount,any_additional_options

ただし、ファイルシステムの種類を変更する必要がある場合(たとえば、ntfsからntfs-3gまで)は機能しません。

答え3

コマンドラインでを使用して両方の;コマンドを一緒にリンクできることをご存知でしたか?これにより、ペアで実行する操作をコマンドラインの履歴から非常に簡単に実行できます。

umount /path ; mount /path

次のように、umountが成功した場合にのみマウントが実行されるようにAND演算子を使用して接続することを検討できます。

umount /path && mount /path

必要に応じて、次のようにエディタを追加することもできます。

削除/パス; vim /etc/fstab;

ドライブがアンマウントされ、fstabが表示され、エディタを終了すると再度マウントされます。

それに加えて、マルチパスのより一般的な解決策が必要な場合機能提案とても良いです。また、Unix の任意の一連のコマンドをスクリプトとして作成できます。次のようにテキストファイルを保存します。

#!/bin/bash
umount /path
mount /path

その後、実行可能にします。

chmod +x filename

次に、次のように実行します。

./filename

答え4

(テストされていません)はどうですか?

function remount() {
  eval last=\$$#
  umount "$last" &&
  mount "$@"
}

このコードをコピーしてシェルに貼り付けるか、.bashrcに追加できます。

関連情報