Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何编写execjava-jar$0“$@&引用;在不使用外部脚本的情况下转换为独立的可执行文件_Bash_Clojure - Fatal编程技术网

Bash 如何编写execjava-jar$0“$@&引用;在不使用外部脚本的情况下转换为独立的可执行文件

Bash 如何编写execjava-jar$0“$@&引用;在不使用外部脚本的情况下转换为独立的可执行文件,bash,clojure,Bash,Clojure,这个shell脚本创建了一个独立的Clojure可执行文件,并且可以正常工作。但是,它依赖于第二个脚本文件jar_exec 我希望第一个脚本不依赖第二个脚本,但我很难模拟cp命令 我怎么写 exec java -jar $0 "$@" 在不依赖包含此信息的第二个文件的情况下插入独立可执行文件 以下是目前的主要脚本 #!/bin/bash # clj_exec # Charles M. Norton 02/28/2012 # Creates a Clojure stand-alone exec

这个shell脚本创建了一个独立的Clojure可执行文件,并且可以正常工作。但是,它依赖于第二个脚本文件jar_exec

我希望第一个脚本不依赖第二个脚本,但我很难模拟cp命令

我怎么写

exec java -jar $0 "$@" 
在不依赖包含此信息的第二个文件的情况下插入独立可执行文件

以下是目前的主要脚本

#!/bin/bash
# clj_exec
# Charles M. Norton 02/28/2012
# Creates a Clojure stand-alone executable.
#
# Change History:
#
# $Log$
#

if [ 2 -ne $# ]; then
    echo "Usage: clj_exec ex-path jar-path"
    exit -1
fi

cp ~/bin/jar_exec ${1}
cat ${2} >> ${1}
这里是jar_exec,我希望直接从第一个脚本编写它,而不是依赖于第二个脚本的第一个脚本

#!/bin/bash
# jar_exec
# Charles M. Norton 1/7/2012
#
# Change History:
# $Log: jar_exec,v $
# Revision 1.1  2012/01/07 22:17:49  cvsuser
# jar creator for lein and other stuff.
#
#

exec java -jar $0 "$@"
您可以使用如下“此处文档”:

#!/bin/bash
cat > ${1} << 'EOF'
#!/bin/bash
# this is the content of jar_exec
exec java -jar $0 "$@"
EOF

chmod +x ${1}
cat ${2} >> ${1}
#/bin/bash
cat>${1}>${1}

这意味着:
之间的东西谢谢。我忘了这里的文件。@octopusgrabbus:我加了一些通知。请检查。你是对的,但这是蛋糕的一个很好的特点,在莱恩没有(至少我知道)。