Solaris中的Bash复制详细更新
我正在编写一些小的bash脚本,用于在GNU/Linux和Solaris中复制某些文件/目录。在Linux中一切正常,但cp命令在Linux和Solaris中没有相同的选项 复制命令如下所示:Solaris中的Bash复制详细更新,bash,solaris,Bash,Solaris,我正在编写一些小的bash脚本,用于在GNU/Linux和Solaris中复制某些文件/目录。在Linux中一切正常,但cp命令在Linux和Solaris中没有相同的选项 复制命令如下所示: cp -ruv $source $dest 不幸的是,我不知道如何在Solaris中实现复制冗余和复制更新。有什么想法吗 谢谢不幸的是,Solaris下的cp没有该选项人solaris应该会揭示这一点 你是否愿意让你的脚本依赖于它 或者,如果可能的话,您可以安装该软件包并使用GNU的cp。我自己也遇到了
cp -ruv $source $dest
不幸的是,我不知道如何在Solaris中实现复制冗余和复制更新。有什么想法吗
谢谢不幸的是,Solaris下的
cp
没有该选项<代码>人solaris应该会揭示这一点
你是否愿意让你的脚本依赖于它
或者,如果可能的话,您可以安装该软件包并使用GNU的cp。我自己也遇到了类似的问题,发现gcp也解决了这个问题。我已将安装coreutils作为标准系统设置的一部分 我在新的Solaris安装上运行这些:
pkgadd -d http://get.opencsw.org/now
pkgutil -U
pkgutil -i -y coreutils
pkgutil -a vim
pkgutil -i -y vim
pkgutil -i -y findutils
请记住将路径和文档路径添加到您的配置文件中,并可能添加到位于/etc/profile的系统配置文件中:
# Set the program path
PATH=$PATH:/usr/sfw/bin:/usr/sfw/sbin:/usr/openwin/bin:/opt/csw/bin:/usr/ccs/bin:/usr/local/bin:/usr/local
export PATH
# Set the documentation path
MANPATH="$MANPATH:/usr/share/man:/opt/sfw/man:/opt/csw/man"
export MANPATH
听起来您可能是Solaris新手,因为我相对来说是新手。我也这样做,这不会影响任何事情
我将VIM设置为默认编辑器,而不是VI-它兼容,但有更多功能,包括ANSI颜色,一些终端模拟器将通过鼠标点击和滚动实现更大的灵活性:
# Set the default editor
EDITOR=vim
export EDITOR
然后,如果您仍在使用默认提示符,而该提示符没有显示任何内容,则可能需要添加一些信息-此版本需要Bash shell:
# Set the command prompt, which includes the username, host name, and the current path.
PS1='\u@\h:\w>'
export PS1
要重新创建详细模式,您可以将输出tee到控制终端(
/dev/tty
),而tee
本身的stdoout
输出通过xargs
传递到cp
find /some/source/directory -type f | \
tee /dev/tty | xargs -I {} cp {} /copy/to/this-directory/
将find
替换为您喜欢的任何内容,只要它通过管道将要复制的文件的路径传递到tee
在标准Solaris 10系统上测试,无需额外的GNU UTIL。谢谢您的回答。是的,我做的第一件事就是检查手册页。我不希望安装任何东西,也不希望使用默认工具找到解决方案。您的选择实际上是,使用不同的工具,或者执行更复杂的操作—解析
find
的输出并检查您是否应该自己复制该文件。