bash
  • wildcard
  • rsync
  • quoting
  • globbing
  • 2016-05-16 94 views 1 likes 
    1

    我試圖做到的,是通過排除workspace目錄複製的源目錄一切目標目錄,我有以下命令這樣做:猛砸通配符和變量用法

    rsync -av --exclude='directory-name*/workspace' sourceDir destinationDir 
    

    它運作良好,但如果我嘗試使用變量爲「目錄名」:

    VARIABLE_NAME="directory-name" 
    rsync -av --exclude='$VARIABLE_NAME*/workspace' sourceDir destinationDir 
    
    +0

    變量未在單引號內擴展。這兩個星號都不是星號,但我不確定你想用它做什麼。 – Biffen

    +2

    用雙引號替換單引號 – Jahid

    +1

    請參見:[bash中單引號和雙引號之間的區別](http://stackoverflow.com/q/6697753/3776858) – Cyrus

    回答

    3

    單引號內放時不會擴展變量,使用雙引號來代替:

    rsync -av --exclude="$VARIABLE_NAME"'*/workspace' sourceDir destinationDir 
    
    相關問題