我怎样才能执行简单的命令
cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php rm -R cake.old nbproject
用一个命令调用?
将以下内容放入command.sh :
#!/bin/bash cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php rm -R cake.old nbproject
然后使该文件可执行文件:
$ chmod +x command.sh
然后运行它:
$ ./command.sh
如果你只是复制/粘贴,用分号分隔命令。
cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod; cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php; rm -R cake.old nbproject
请注意,您发布的第一条命令将复制index.php文件,因此在此之后直接运行第二个副本是不必要的。
你可以用分号分隔它们,就像其他人说的那样,或者用这样的双和号(&&):
cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod && cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php && rm -R cake.old nbproject
不同之处在于,使用&符号时,每个命令只有在前一个成功完成时才会被执行,而使用分号则所有命令都将被执行,而不pipe前一个命令是否被执行。
您应该使用rsync而不是cp,因为如果任何文件或目录在运行中保持不变,则效率更高。 rsync也处理类似符号链接和稀疏文件这样的奇怪事情比cp更好。 使用文本编辑器(皮克是好的开始),并创build您的〜/ script.sh文件(此版本也有一些错误检查):
#!/bin/bash rsync -av /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod || \ { echo "rsync failed" >&2 && exit 1; }; rm -rf /somedir/cake.old /somedir/nbproject || { echo "rm -rf failed" >&2 && exit 1; };
保存该文件,然后运行chmod 755 script.sh以使其可执行。 然后input~/script.sh将执行你的脚本。
注意你想把一个绝对目录放在那个rm -rf命令上,这样你不会不小心把别的地方的目录弄错了。 我也消除了第二个副本,因为它在第一个recursion副本中被覆盖了。
rm -rf是比rm -R更为标准的成语。 -f强制删除文件/目录,即使权限不允许(但仅限于您已拥有的文件或目录)。
你可以用分号分隔它们,或者把它们放在脚本中,标记为可执行文件,然后调用脚本。