首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建带有变量的Bash脚本的bash脚本

创建带有变量的Bash脚本的bash脚本
EN

Stack Overflow用户
提问于 2014-02-05 23:19:33
回答 2查看 147关注 0票数 0

我正在编写一个名为"NewProject“的Bash,它创建了第二个名为”编译“的Bash脚本。这两个脚本都必须能够接受参数作为输入。我的问题是,我不能将"$1“写入编译脚本--这只是将NewProject的第一个参数的内容复制到编译脚本中。这是创建编译脚本的NewProject脚本的一部分。

代码语言:javascript
复制
echo "#!/bin/bash" > $1/compile
echo "
if [[ -z '$1' ]];
then
        echo "You are missing file names. Type in: compile -o executable files."
        exit 1
fi" >> $1/compile
chmod u+x $1/compile

下面是NewProject脚本测试运行的输出。

代码语言:javascript
复制
#!/bin/bash

if [[ -z 'testproject4' ]];

then
        echo You are missing file names. Type in: compile -o executable files.
        exit 1
fi

如何更改NewProject脚本,使编译脚本不包含'testproject4',而是包含'$1'

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-05 23:34:35

我会用一本

代码语言:javascript
复制
cat <<'END' > "$1"/compile
#!/bin/bash

if [[ -z $1 ]];
then
        echo "You are missing file names. Type in: compile -o executable files."
        exit 1
fi
END
chmod u+x "$1"/compile

当您引用本文档终止语(cat <<'END')时,它实际上引用了整个文档。

票数 0
EN

Stack Overflow用户

发布于 2014-02-05 23:25:00

你应该更准确地引用。

代码语言:javascript
复制
echo "$1" >>$1/compile

将NewProject的第一个参数的值附加到编译脚本中。

然而:

代码语言:javascript
复制
echo '$1' >>$1/compile

将精确地将$1字符附加到编译脚本中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21590745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档