
次のことを試みますが、このコマンドに関するメッセージがksh
表示され続けます。cannot stat
cp
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation
SMOKE_JMX_LOCATION=$JMX_ROOT/"Smoke Set"/*.*
cp $SMOKE_JMX_LOCATION /var/tmp/tempor
どんなアイデアがありますか?私は成功せずに様々な変数に引用符を入れようとしました。
答え1
cp "$SMOKE_JMX_LOCATION" /var/tmp/tempor
#--^-------------------^
編集:私は本当にワイルドカードに気づいていませんでした。はい、これを参照すると拡張が防止されます。変数に入れる必要がありますか?これは間違いなく動作します:
cp $JMX_ROOT/"Smoke Set"/*.* /var/tmp/tempor
答え2
SMOKE_JMX_LOCATION="$(echo $JMX_ROOT/"Smoke Set"/*.*)"
cp "$SMOKE_JMX_LOCATION" /var/tmp/tempor
答え3
代替フィールド区切り文字を使用して、ディレクトリ名のスペースを解決できます。
JMX_ROOT=/bfs-build/build-info/mep_mainline-Linux.latest/core/mainline/automation
OLD_IFS="$IFS"
IFS=$'\n'
SMOKE_JMX_LOCATION="${JMX_ROOT}/Smoke Set"
cp ${SMOKE_JMX_LOCATION}/*.* /var/tmp/tempor
IFS=$OLD_IFS