我需要在不同的目录中重新排列一些内容,但这有点痛苦。为了调试我正在开发的应用程序(一个ruby应用程序),我需要一次一个地将我的gem移动到我的gem文件夹中(长篇大论;简单地说:一个坏了,我不知道是哪一个)。
所以我需要做一些类似的事情:
sudo mv backup/gem/foo gem/
sudo mv backup/doc/foo doc/
sudo mv backup/specification/foo.gemspec specification/每次都替换"foo“。我怎样才能编写一个简单的shell脚本,让我做一些类似于: gemMove("foo")的事情,并让它为我填补空白?
发布于 2008-09-16 17:39:39
将以下内容放入名为gemmove的文件中
#!/bin/bash
if [ "x$1" == x ]; then
echo "Must have an arg"
exit 1
fi
for d in gem doc specification ; do
mv "backup/$d/$1" "$d"
done那就这么做
chmod a+x gemmove然后调用sudo /path/to/gemmove foo将foo gem从备份目录移动到真实目录中
发布于 2008-09-16 17:41:03
您可以简单地使用bash shell参数,如下所示:
#!/bin/bash
# This is move.sh
mv backup/gem/$1 gem/
mv backup/doc/$1 doc/
# ...然后按如下方式执行:
sudo ./move.sh foo确保脚本是可执行的,并使用
chmod +x move.sh发布于 2008-09-16 17:47:14
在bash中,类似于:
function gemMove()
{
filename=$1
mv backup/gem/$filename gem/$filename
mv backup/doc/$filename doc/$filename
mv backup/specification/$filename.spec specification
}然后,您可以在脚本中的其他位置调用gemMove("foo")。
https://stackoverflow.com/questions/74886
复制相似问题