Дано
$ ls
989875.txt myname.csv 'some long.msg' XYZABC.csv XYZABC.txt
Тогда
$ find. ! \( -name 'XYZABC.*' -o -name '*.msg' \)
.
./myname.csv
./989875.txt
Так например
$ find. -type f ! \( -name 'XYZABC.*' -o -name '*.msg' \) -printf '1' | wc -c
2
Вы могли бы сделать:
user="$(printf "" | dmenu -p "Enter user:")"
pass="$(printf "" | dmenu -P -p "Enter secret(PIN, OTP, Password):")"
f5fpc --start -u "$user" -p "$pass" -t "$F5FPC_HOST"
Использование printf ""
для предотвращения чтения dmenu stdin в виде списка. echo
добавит новый символ строки -, а dmenu
увидит, что это пустая запись списка.
Кроме того, вы должны проверить, не перезаписывает ли f5fpc
пароль в argv -, чтобы он не раскрывался, например, с помощью ps
.
Было бы лучше открыть этот скрипт в оболочке и указать f5fpc
в качестве пароля, если это так.