#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS