2016-04-14 4 views
1
$ type mkdir 
$ mkdir is aliased to `command mkdir -p -v' 
$ mkdir folder 
$ mkdir folder 
$ mkdir folder 
$ unalias mkdir 
$ type mkdir 
mkdir is hashed (/bin/mkdir) 
$ mkdir folder 
mkdir: folder: File exists 

エイリアス化されたバージョンで冗長出力が印刷されないのはなぜですか?エイリアスmkdirで冗長出力をMacで出力する

+0

'ディレクトリがすでに存在する場合mkdir'は何も印刷されないと' -p'が使用されます。おそらくこれは何も行われていないことを意味し、 'mkdir'はディレクトリが実際に作成されたときにのみ印刷されるようです。これは、もちろん、エイリアスとは関係ありません。 – Biffen

+0

質問があるときに使用するユーティリティのマニュアルページを読むことをお勧めします。彼らは豊富な正確な情報を提供しており、この質問に答えています。 'man mkdir'を試してください... – arkascha

答えて

1

既に作成されたフォルダのメッセージを表示する場合は、別名に-pオプションをドロップする必要があります。以下を試してください

mkdir folder 
alias mkdir="mkdir -v" 
mkdir folder 

エラーメッセージが表示されます。あなたはこの

mkdir folder 
alias mkdir="mkdir -p -v" 
mkdir folder 

を使用している場合はそれが-pオプションがどのように動作するかだからあなたはそれを見ることはありません。

なぜこのように機能しますか? -pは、既に作成されたフォルダに遭遇したときに実際にエラーが発生したと仮定すると、作成中の深くネストされたフォルダとは何か、次に作成するフォルダを再利用すると、エラー。そうした場合、スクリプトで多くのエラーが発生します。私の経験で

あなたはそのことについて長いとハードとお考えください... but why can't it just throw the error on the last directory ie if it sees that the one it's about to create exists, not the ones prior ...聞くと考えるようになった場合:)

+0

説明をありがとう。あなたはどのように答えを見つけましたか教えていただけますか?またはちょうど経験ですか?私は男のこのような情報を見つけませんでしたmkdir – Johns

+0

私はなぜ答えを更新します。 – Harry

関連する問題