Переименовать 2 файла с помощью сценария оболочки

Если я попытаюсь смонтировать файловую систему FreeBSD на моем хосте Linux, я увижу ту же ошибку, о которой вы сообщаете:

mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0p3, missing codepage or helper program, or other error.

Мы можем получить дополнительные сведения об этой ошибке, взглянув на журнал ядра:

$ dmesg | tail
[...]
[1767775.494027] ufs: You didn't specify the type of your ufs filesystem

                 mount -t ufs -o ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep...

Похоже, что Linux не будет монтировать файловую систему UFS, если мы не укажем опцию ufstype. Глядя на справочную страницу mount, кажется, что наиболее вероятным вариантом является ufs2:

.
              ufs2   Used in FreeBSD 5.x supported as read-write.

Все остальное кажется старым (например,44bsd)или неуместным (неправильная ОС ).

Если я побегу:

mount -t ufs -o ufstype=ufs2 /dev/sdb1 /mnt

Работает... в основном:

$ dmesg | tail
[...]
Aug 23 10:01:09 madhatter kernel: ufs: ufs was compiled with read-only support, can't be mounted as read-write

Таким образом, в зависимости от вашего дистрибутива, вы можете иметь или не иметь доступную поддержку записи .

-1
04.10.2021, 10:44
1 ответ

У меня было много синтаксических ошибок в моем скрипте, но я использовал https://www.shellcheck.net/для их исправления.

Теперь мой скрипт ('переименовать _2 _files.sh' ):

#!/bin/sh
#_start
while getopts o: flag
do
    case "${flag}" in
        o) OPTION=${OPTARG};;
        *)
    esac
done
# declare variable
RENAME="rename"
DEFAULT="default"
# show all ExportP* files
ls '/home/dev/Documents/Work/info/Target_script/first'*
# rename file
if [ "$OPTION" = "$RENAME" ]; then
    mv '/home/dev/Documents/Work/info/Target_script/first1.txt' '/home/dev/Documents/Work/info/Target_script/first1_ori.txt'
    mv '/home/dev/Documents/Work/info/Target_script/first2_SL.txt' '/home/dev/Documents/Work/info/Target_script/first2.txt'
elif [ "$OPTION" = "$DEFAULT" ]; then
    mv '/home/dev/Documents/Work/info/Target_script/first1_ori.txt' '/home/dev/Documents/Work/info/Target_script/first1.txt'
    mv '/home/dev/Documents/Work/info/Target_script/first2.txt' '/home/dev/Documents/Work/info/Target_script/first2_SL.txt'
fi
# show new name o files
ls '/home/dev/Documents/Work/info/Target_script/first'*

#_end

А для вызова выполнения скрипта я использую :sh rename_2_files.sh -o renameилиsh rename_2_files.sh -o default

Желаю всем хорошего дня и больших успехов!

0
04.10.2021, 12:08

Теги

Похожие вопросы