我试图在我的互联网平板电脑(在 Maemo Linux 上运行的诺基亚 N810)上运行以下 bash 脚本。但是,它似乎没有运行,而且我不知道这个脚本有什么问题(如果我更改目录,它会在我的 Ubuntu 系统上运行)。很高兴收到有关此问题或此问题的类似经验的一些反馈。谢谢。
WORKING="/home/user/.gpe"
SVNPATH="/media/mmc1/gpe/"
cp calendar categories contacts todo $WORKING
bashcp
命令可以将多个源复制到单个目标(如果它是一个目录)。
目录是否/home/user/.gpe
存在?
请记住,名称中的前导点可以使其隐藏,除非您使用ls -a
我在cygwin中试过你的命令:
但我用.gpe
而不是/home/user/.gpe
我做了一个touch calendar categories contacts todo
来创建文件。
它工作得很好。
运行脚本时实际发生了什么?如果您包含与预期不同的错误消息或行为的详细信息以及方式不同,这将很有帮助。
如果 $WORKING 包含目录的名称,无论是否隐藏,那么cp
应该将这四个文件复制到其中。然后ls -l /home/user/.gpe
应该显示它们以及其中的任何其他内容,无论它是否“隐藏”。
顺便说一句,文件或目录名称中的初始点并没有真正“隐藏”条目,只是这样和类似的ls
命令echo *
不会显示它们,而这些会:
ls -la
ls -d .*
ls -d {.*,*}
echo .*
echo {.*,*}
如果这是您的整个脚本,那么它缺少两个。可能的三、事情:
#!/bin/sh
在开头cd $SVNPATH
在cp
命令之前。您的脚本不应假定当前工作目录是正确的。chmod a+x script
您是否已经存在 /home/user/.gpe 目录?此外,尝试添加 -R 参数,以便递归复制目录。