aliasで設定したコマンドを一時的に無効にして実行する方法 †aliasで以下のように指定して使用している場合がありますよね。 $ alias alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias cp='cp -i' 上記の設定で、cpコマンドを使用した場合、iオプションが指定されているので、ファイルが存在する場合は上書きメッセージが表示されます。 関連記事 †バックスラッシュを使用すると一時的に無効になる †以下に alias cp='cp -i' を使用してaliasの一時的に無効にする方法を記します。 $ alias cp='cp -i' $ echo sakura > sakura.txt $ cp sakura.txt flower.txt $ cp sakura.txt flower.txt cp: `flower.txt' を上書きしてもよろしいですか(yes/no)? no 2. -fオプションで強制的にcpしてみても-iが有効なため「上書きしてもよろしいですか(yes/no)?」が表示されます。 $ cp -f sakura.txt flower.txt cp: `flower.txt' を上書きしてもよろしいですか(yes/no)? no 3. 最初にバックスラッシュ(\)を付加しcpコマンドを実行するとaliasに指定したcpコマンドは一時的に無効(本コマンドのみ)になり意図した動作になります。 $ \cp -f sakura.txt flower.txt $ 4.再度、バックスラッシュ(\)を付けずに実行すると「上書きしてもよろしいですか(yes/no)?」が表示されます。 $ cp -f sakura.txt flower.txt cp: `flower.txt' を上書きしてもよろしいですか(yes/no)? 以上、aliasに指定した設定を一時的に無効にする方法と実行例でした。 |