非常に簡単なコマンドを書こうとしていますmkcd
。
#!/bin/bash
mkdir $1
cd $1
ディレクトリが作成されましたが、ディレクトリ変更部分が実行されていないようです。
コメントに基づいて更新:
mkcd () {
mkdir "$1"
cd "$1"
}
まず、ローカルファイルとして実行してみました。
./mkcd
私の最終的な立場は、両方の/opt/bin
立場は効果がないようです。
ベストアンサー1
関数でなければなりません。
mkcd() { mkdir -p "$1" && cd "$1"; }
スクリプトは独立した独自のプロセス内で実行されます。ディレクトリを変更しても親シェルには影響しません(と同様に、サブシェル内のディレクトリも変更されません(cd /tmp)
)。