ディレクトリを作ったあと、50% くらいの割合で作ったディレクトリに移動している気がするんですが、みなさんいかがでしょうか。たとえば以下のような感じです。
mkdir "新しいフォルダー(1)"
cd "新しいフォルダー(1)"
.bash_profile に以下のような感じに書いておけば、mkdir と cd が一気にできます。
mkcd () {
mkdir $@ && cd `echo $@ | sed -e "s/-[^ \f
\r\t]*//g"`
}
実際の使い心地は以下のような具合です。
[user@host /tmp]$ mkcd hoge
[user@host /tmp/hoge]$ mkcd fuga
[user@host /tmp/hoge/fuga]$ cd ../
[user@host /tmp/hoge]$ mkcd fuga
mkdir: cannot create directory `fuga': File exists
[user@host /tmp/hoge]$ mkcd -p fuga
[user@host /tmp/hoge/fuga]$ pwd
/tmp/hoge/fuga
mkdir のオプションはそのまま使える仕様で、複数のディレクトリを作成した場合は前方一致のディレクトリに移動します。仕様として - や -- という名前のディレクトリには移動できません。ちゃんとやるなら、そこらへんにも対応する必要があるけど、まあ必要なさそう...。
[amazon template=wishlist&asin=4873112672]
余談パート
ちなみに -h とか --hoge みたいなファイルを普通に作ろうとすると引数だと解釈されてしまいうまく作れない。-- は以後を非オプション引数として扱ってくれるので、これを使えばいい感じに実現可能。
$ touch -p
touch: invalid option -- 'p'
Try 'touch --help' for more information.
$ touch --piyo
touch: unrecognized option '--piyo'
Try 'touch --help' for more information.
$ touch -- -p
$ touch -- --piyo
$
Pinned Articles
About
ウェブ界隈でエンジニアとして労働活動に励んでいる @gomi_ningen 個人のブログです
Tags
LLM
promptfoo
GenAI
JavaScript
PowerShell
fluentd
kibana
elasticsearch
nginx
村川梨衣
五十嵐裕美
イベント
logrotate
IoT
Scala
Java
ICMP
iputils
C言語
WUG
mastodon
Swift
AWS
Windows
Clock
PoEAA
アーキテクチャ
iOS
DeviceFarm
プログラミング言語
OS
StepFunctions
Lambda
Serverless
terraform
ポエム
RHEL
ネットワーク
GraphQL
CloudWatch
Linux
Coreutils
nc
network
telnet
LinuxKernel
fpinscala
ELB
IAM
AppSync