Linux 如何将其写入批处理文件

Linux 如何将其写入批处理文件,linux,shell,batch-file,command-line,Linux,Shell,Batch File,Command Line,我正试图将shell脚本转换为批处理文件,但我在这里遇到了麻烦 我不太确定如何将这一行转换为我的批处理文件 $(echo $(cd $(dirname $0)/../..; pwd)) 我试过了 echo %(cd %(dirname %0%)%/.../..; pwd)% 但我不确定我是否正确 您不能像这样批量进行命令链接。如果我看的没错,那么您希望得到目录的绝对路径,比当前执行的脚本的目录高出两级。您可以这样做: @ECHO OFF CD %~dp0\..\.. ECHO %CD% 这

我正试图将shell脚本转换为批处理文件,但我在这里遇到了麻烦

我不太确定如何将这一行转换为我的批处理文件

$(echo $(cd $(dirname $0)/../..; pwd))
我试过了

echo %(cd %(dirname %0%)%/.../..; pwd)%

但我不确定我是否正确

您不能像这样批量进行命令链接。如果我看的没错,那么您希望得到目录的绝对路径,比当前执行的脚本的目录高出两级。您可以这样做:

@ECHO OFF
CD %~dp0\..\..
ECHO %CD%
这将更改当前目录。要避免这种情况,请使用:

@ECHO OFF
PUSHD %~dp0\..\..
ECHO %CD%
POPD

我不好意思说我的Linux外壳生锈了。你的原始代码是做什么的?我的代码实际上是编译一些东西。但事实上,我也被困在其他地方。现在,我需要将文件与用户一起递归复制到特定文件夹permissions@Something打印目录名,该目录比运行脚本所在的目录高出两级。可以使其更简单、更健壮:
(cd“$(dirname“$0”)”/../..;pwd)
让我试试这个,我会告诉你这是否有效!谢谢