我正在编写一个脚本,我注意到某行代码不断被重用。
所以我想为什么不将它放入一个变量中以方便使用,并且当某些内容发生变化时,我只需要在一个位置更改它。
当我这样做时:
scriptpath="echo -e "\n" && curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder"
然后使用该变量如下:
$SCRIPTPATH/some_script.sh | bash
我收到以下错误消息:
bash: 第 2 行: $'\n': 未找到命令
答案1
您正在描述一种情况,其中的函数正是您想要的。
do_download () {
printf '\n'
curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder
}
然后您可以在代码中使用它作为
do_download
如果函数需要接受参数,例如要使用的 URL,
do_download () {
printf '\n'
curl -s -u lalala:hihihi "$1"
}
然后将其称为
do_download "ftp://ftp.somewhere.com/folder"
将命令存储在变量中是非常稀有您想做的事情,如引用和分词,很难做到正确。参见例如“我们如何运行存储在变量中的命令?”。