Я пишу сценарий, который считывает два файла в каталоге, отображает содержимое, меняет местами файлы и снова отображает содержимое.
Я исследовал, как поменять два файла, и получил метод обмена. Однако этот метод выдает мне ошибку при запуске сценария.
#!/bin/sh
file1="$1"
file2="$2"
function readFile() {
for file in `ls`
do
cat $file
done
}
function swap()
{
echo "Swapping"
TMP=$(mktemp -d)
mv "$1" $TMP/tempfile
mv "$2" "$file1"
mv $TMP/tempfile "$file2"
[ -e $TMP/tempfile ] && echo "Error!" || rm -r $TMP
}
cd ~
cd test
readFile $file1 $file2
swap $file1 $file2
readFile $file1 $file2
Я получаю сообщение об ошибке "mv: not stat '': такого файла или каталога нет: mv: not stat '': неттакой файл или каталог mv: not stat '/tmp/tmp.jduY2Yk6xi/tempfile': нет такого файла или каталога "Как мне выполнить обмен? Также будет приветствоваться любое улучшение кода.