cd 命令在我的 shell 脚本中不起作用

cd 命令在我的 shell 脚本中不起作用

我有一个脚本.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在进程替换或子 shell 中,则目录更改仅在该上下文中有效。回到基本 shell 后,您就回到了之前的位置。

从命令行比较这两个:

$(cd /bin) && pwd

cd /bin && pwd

相关内容