我正在尝试在 tcsh 中编写一个脚本,将我在命令行中指定的选择文件从一个目录复制到另一个目录,而不必写出每个文件的完整路径。
另外,为了帮助澄清,比如说,我在一个目录中有 30 个这样的文件,所有文件的名称几乎相同,但我只想复制其中 4 个文件(即,我认为这里不能使用通配符)。
最后要说明的是,我对 Unix 还很陌生,因此非常感谢关于如何编写此脚本的任何“简化”建议!
答案1
该cp
命令已经为您完成此操作。尝试以下操作:
> cd /path/to/files
> cp file1 file2 file3 file4 /path/to/destination
由于您位于文件所在的目录中,因此您不需要输入每个文件的完整路径,但您需要输入目标目录的完整路径。
如果您确实想编写自己的脚本,请尝试以下操作:
#!/bin/tcsh
cd /path/to/files
cp $* /path/to/destination
将其放入类似文件中move.tcsh
并运行命令chmod +x move.tcsh
以使其可执行。此脚本执行的操作与上述完全相同。在 tcsh 脚本中$*
表示所有命令行参数。
在这两种情况下,请确保输入正确的路径/path/to/files
,/path/to/destination
在这种情况下,任务非常简单,更正确的方法是直接从命令行执行。