
.sh
ディレクトリを作成し、いくつかのファイルをそのディレクトリに移動するスクリプトがあります。
作成したばかりの新しいディレクトリにディレクトリを変更したいのですが、コマンドでは機能しません。
cd ./$dirname1${iloop}
$dirname1${iloop}
新しいディレクトリの名前はどこにありますか?ディレクトリをどのように変更しますか?
mkdir ./$dirname1${iloop}
`cp $in1 ./$dirname1${iloop}`
`cp $plot ./$dirname1${iloop}`
`cp $tmpl1 ./$dirname1${iloop}`
`cp $in2 ./$dirname1${iloop}`
`cp $tmpl2 ./$dirname1${iloop}`
`cp $data ./$dirname1${iloop}`
`cd ./$dirname1${iloop}`
答え1
スクリプトをそのまま公開したと仮定すると、このコマンドは次のようになります。
`cd ./$dirname1${iloop}`
プロセス置換を使用します。ダニ
`
前と最後は新しいタイプの古い構文です$()
。交換の内部と交換せずにファイルをコピーすると継続的な結果が得られますが、cd
プロセスの交換またはサブシェルにある場合、ディレクトリの変更はそのコンテキストでのみ有効です。メインシェルに戻るとすぐに前の位置に戻ります。
コマンドラインで次の2つを比較します。
$(cd /bin) && pwd
そして
cd /bin && pwd