古いバージョンを新しいバージョンにコピーすることはできません。

古いバージョンを新しいバージョンにコピーすることはできません。
# in bash
shopt -s extglob
cd /oc/txa/db/
dirs=$(echo $(ls [1-9]*([0-9])_[0-9] | sort -rn | head -n 2))
# if there are no other files and directories you can use "ls |" in the line above
newer="${dirs% *}"
prior="${dirs#* }"
test -z "$newer" && exit 1
test -z "$prior" && exit 1
cp -p "${prior}/mit.sas" "$newer"/

結果: cp: cannot access 15_1:/mit.sas: No such file or directory

このスクリプトには問題があります15_1:/mit.sas。実際には、15_1/mit.sasこのスクリプトをすばやく見てください。そして、正確なスクリプトをどこで変更する必要があるかを提案してください。 kshでスクリプトを書くことはできますか?

ベストアンサー1

コロンはコマンドから来るので、ls代わりに使用する場合は/bin/ls -dそれを削除する必要があります。

# in bash
shopt -s extglob
cd /oc/txa/db/
dirs=$(echo $(/bin/ls -d [1-9]*([0-9])_[0-9] | sort -rn | head -n 2))
# if there are no other files and directories you can use "ls |" in the line above
newer="${dirs% *}"
prior="${dirs#* }"
test -z "$newer" && exit 1
test -z "$prior" && exit 1
cp -p "${prior}/mit.sas" "$newer"/

おすすめ記事