我有一些shell脚本的所有像这样一大块:包括代码在一个shell脚本
#!/bin/bash
cd ~/Dropbox/cms_sites/examplesite/media
sass -C --style compressed --update css:css
cd ~/Dropbox/cms_sites/examplesite
rm -f ./cache/*.html
rm -fr ./media/.sass-cache/
rm -fr ./admin/media/.sass-cache/
rsync -auvzhL . [email protected]:/home/username/remote_folder
(我知道用光盘似乎不可思议,但它们已经进化!)
现在,所有这些脚本都有一些差异,因为它们具有不同的用户名,主机,本地文件夹和远程文件夹名称,我希望没有经验的用户能够在不带参数的情况下运行它们(以便可以拖放它们到终端没有问题)。
我希望做的是一样的东西:
#!/bin/bash
cd ~/Dropbox/cms_sites/examplesite/media
sass -C --style compressed --update css:css
cd ~/Dropbox/cms_sites/examplesite
include ~/scripts/common.sh
rsync -auvzhL . [email protected]:/home/username/remote_folder
然后在common.sh,看起来像一个文件:
rm -f ./cache/*.html
rm -fr ./media/.sass-cache/
rm -fr ./admin/media/.sass-cache/
这样我就可以轻易改变的部分一次编写大量脚本。
这是可能的,还是有没有更好的方式来做到这一点,而不使用参数和一个脚本?
它也有影响,应该引起一个犹豫之前,建议它。 – 2011-04-19 09:23:48
确实。但他明确要求“包含”。 – pepoluan 2011-04-19 09:25:50
当然,来源可能是要走的路。如上所示,我希望该文件在当前脚本的上下文中运行,我认为该脚本会执行该脚本。我会试试看。 Ignacio有什么含义? – 2011-04-19 09:47:26