Вы вызываете команды слияния несколько раз через цикл for -.
Но вам нужно позвонить каждому только один раз. Отбросьте цикл for -и просто выполните
File_Path=/Source/temp/
awk '(NR == 1) || (FNR > 1)' ${File_Path}*STRUCTURED_PROD.csv > Merged_STRUCTURED_PROD.csv
awk '(NR == 1) || (FNR > 1)' ${File_Path}*STRUCTURED_NON_PROD.csv > Merged_STRUCTURED_NON_PROD.csv
awk 'FNR>2 || NR==2' ${File_Path}*_UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv
Это требование существует, потому что они вызывают sudo podman
из своего приложения. Это странно, потому что minikube ожидает, что непривилегированный пользователь будет запускать приложение, а затем ожидает, что (нужны привилегии root ). Кроме того, minikube
запускает sudo non -в интерактивном режиме. Sudo не предназначен для этого.
Что касается альтернатив, то большинство приложений, которым требуются привилегии суперпользователя, определят, являются ли они root-правами или нет, при запуске, а затем завершатся ошибкой, если это не так. Пример:
$ dpkg -i *.deb
dpkg: error: requested operation requires superuser privilege
$ mount /dev/sda /mnt
mount: /mnt: must be superuser to use mount.
Вы можете себе представить, если apt
поместит свой собственный вход без пароля в sudoers, а затем поднимет себя вместо того, чтобы требовать явного согласия пользователя?
Другой вариант — приложения будут использовать polkit
вместо sudo
. polkit
похоже на sudo
для GUI. Он не интерактивен с приложением, но будет использовать интерфейс polkit
со средой вашего рабочего стола для взаимодействия с пользователем и аутентификации. Если вы используете gnome и видите, что экран становится серым и появляется запрос на ввод пароля, это polkit.
На самом деле, я думаю, что это плохой дизайн со стороны minikube
.
Похоже, podman
нужны привилегии суперпользователя. У вас как у пользователя есть три варианта:
minikube
доступ к sudo без пароля, как он хочет,podman
(это странно ). sudo minikube
всякий раз, когда вы запускаете его. Если это уже root,ему больше не нужен пароль -меньше доступа к sudo.