>
здесь перенаправляет стандартный вывод в файл, как это было бы в более обычном случае использования:
printf "%s\n" "hello world" > filename
Пробелы вокруг >
необязательны, и он не обязательно должен идти в конце. Это делает то же самое:
printf "%s\n">filename "hello world"
Таким образом, ваша mv
строка будет написана более условно:
mv /u01/app/oracle/product/12.1.0.2/db_1/dbs/ /u01/shared_data/oradata/TEST/test.dbf > test2.dbf
который переименовал вашу папку вtest.dbf
(в другом каталоге )и написал mv
стандартный вывод (, вероятно, ничего )в test2.dbf
в вашем текущем каталоге. Надеюсь, это случайно не перезаписало файл данных Oracle.
PS :Если дополнительные >
являются частой проблемой, опция bash set -o noclobber
/ set -C
может, по крайней мере, помочь предотвратить перезапись файлов. Страница руководства bash описывает это как :. Если установлено, bash не перезаписывает существующий файл с помощью операторов перенаправления >
, >&
и <>
. Это может быть переопределено при создании выходных файлов с использованием оператора перенаправления >|
вместо >
.