我正在为GNU / Linux和Solaris中的某些文件/目录编写一些小的bash脚本。在Linux中一切正常,但cp命令在Linux和Solaris中没有相同的选项。
复制命令是这样的:
cp -ruv $source $dest
不幸的是,我不知道如何在Solaris中实现复制详细和复制更新。有什么想法吗?
由于
答案 0 :(得分:1)
答案 1 :(得分:0)
我自己也遇到了类似的问题,发现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
答案 2 :(得分:0)
要重新创建详细模式,可以将输出发送到控制端子(/dev/tty
),而stdoout
本身的tee
输出通过{{ 1}}。
cp
将xargs
替换为您喜欢的任何东西,只要它将要通过管道复制的文件的路径传递到find /some/source/directory -type f | \
tee /dev/tty | xargs -I {} cp {} /copy/to/this-directory/
。
在没有额外GNU utils的标准Solaris 10系统上进行了测试。