Todo lo que necesita para crear una clave hash y guardarla en su PC
Simplemente escriba
ssh-keygen -t rsa -b 4096 # just press Enter till the end
luego ingrese
ssh-copy-id <user>@<server>
luego inicie sesión normalmente usando
ssh <user>@<server>
Ahora no necesitas contraseña
Note: Saving your password in a plain text is dangerous
This method is creating a hashed value of your password using RSA with public key of length 4096 which is very secure.
Думаю, здесь у вас две проблемы.
Во-первых, вы хотите, чтобы оболочка не подставляла подстановочный знак при запуске функции. Вы не можете сделать это, добавив кавычки внутри функции, так как имена файлов раскрываются как аргументы для функции до ее запуска. Чтобы предотвратить расширение имени файла, запустите функцию как noglob fdtnxg
, которую можно автоматизировать с помощью псевдонима (alias fdtnxg="noglob fdtnxg"
).
Во-вторых, аргумент команды grep. Я предполагаю, что вы хотите, чтобы аргументы функции, начиная с четвертого, были объединены в одну строку для grep. "${@:4}"
, расширяет их как отдельные слова (, как "$@"
для всех позиционных параметров ). "$*"
вместо этого объединяет параметры в одну строку. В Zsh "${*[4,-1]}"
, по-видимому, работает для объединения четвертого и последующих аргументов.("${*:4}"
объединит их все и начнет с четвертого символа , это отличается от того, что делает Bash. )Если это не сработает,вы всегда можете убрать первые три, а затем использовать "$*"
.
Так что либо
fdtnxg () {
find "$1" -type "$2" -name "$3" -exec \
grep -- "${*[4,-1]}" /dev/null {} +
}
или
fdtnxg () {
local dir=$1
local type=$2
local name=$3
shift 3
find "$dir" -type "$type" -name "$name" -exec \
grep -- "$*" /dev/null {} +
}
с
alias fdtnxg="noglob fdtnxg"
В любом случае вы не можете передавать вывод find
в xargs
таким образом. Вам понадобятся расширения -print0
/ -0
GNU, или лучше здесь, мы используем стандартный -exec cmd {} +
синтаксис поиска (, добавляя аргумент /dev/null
, чтобы убедиться, что grep
всегда печатает имя файла, даже если find
находит только один файл; с GNU grep
вы также можете использовать опцию -H
для этого ).