#navi(../)
* aliasで設定したコマンドを一時的に無効にして実行する方法 [#kdc6e61b]
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オプションが指定されているので、ファイルが存在する場合は上書きメッセージが表示されます。~
これをunaliasを使用せずに一時的に無効にする方法を以下に記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#m7441466]
-[[aliasコマンドを使用して改行コード変換コマンドを登録する・perl使用>Linux環境設定/aliasコマンドを使用して改行コード変換コマンドを登録する・perl使用]]
* バックスラッシュを使用すると一時的に無効になる [#p8bcb2f4]
以下に alias cp='cp -i' を使用してaliasの一時的に無効にする方法を記します。~
使用したOSはCentOSになります。
1. 以下のようにaliasコマンドでcpコマンドをcp -iにし、flower.txtに2度cpしようとすると「上書きしてもよろしいですか(yes/no)?」が表示されます。
$ 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に指定した設定を一時的に無効にする方法と実行例でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)