我写bash文件将文件从Unix复制到Windows,我将文件的path作为parameter passing给bash文件: – scp -r /$1/ user@hostname:/cygdrive/c/unix_file
当我执行bash并且不传递任何参数时,它将复制“当前目录”中的所有文件
例如: –
roor @ hostname />./ bash.sh现在它复制根目录中的所有文件….当我testing退出代码它是相等的(0)!
如果你不传递参数,那么它的参数值被认为是一个空string。 testing零长度string的参数(使用if
和[
或[[
)),如果是一个,则失败。 不要忘记在命令中引用参数( scp ... /"$1"/ ...
)。
如果你想指定一个默认的目录,如果你没有提供参数,这个目录是有效的:
scp -r "/${1:-default/directory}/" user@hostname:/cygdrive/c/unix_file
在其中你可以用你想要的任何东西来replace“default / directory”。