kshシェルで次のことを試みます。
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation
SMOKE_JMX_LOCATION="$JMX_ROOT/\"Smoke Set\"/*.txt $JMX_ROOT/\"Smoke Set\"/*.TXT
$JMX_ROOT/\"Smoke Set\"/SmokeSet.jmx"
cp $SMOKE_JMX_LOCATION /var/tmp
つまり、.txt、.TXT、および.jmxファイルをあるディレクトリから別のディレクトリにコピーすると、「Smoke Set」の空白が原因でエラーが発生します。
どんな助けでも大変感謝します。
答え1
通常、文字列に複数のパスを入れることはできません。何もない* これはほとんどのファイルシステムで有効な文字列で有効なパスです。配列を使用できます。
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation
set -A SMOKE_JMX_LOCATIONS "$JMX_ROOT/Smoke Set/"*.txt "$JMX_ROOT/"Smoke Set"/"*.TXT "$JMX_ROOT/Smoke Set/SmokeSet.jmx"
cp "${SMOKE_JMX_LOCATIONS[@]}" /var/tmp
*誰かが抗議する\0
前に、/
前者は変数の一部になることはできません(少なくともkshが次のように動作する場合)。吹く;参照が見つかりません)ファイル名しかし、とてもうまくいきます。道。