bash 스크립트의 입력을 스크립트 내에서 실행하는 명령으로 전달해야 합니다. 나는 무엇을 해야할지 모르겠습니다. 나는 하루 종일 비슷한 것을 찾고 있었습니다 bash
.
#!/bin/env bash
# This script is used for generating ssl cert's for websites
# ==========================================================
# Version 1.0
# ==========================================================
# Working dir
# ===========
cd "$(dirname "$0")"
# Debugging
# =========
set -x
# Imput options
# =============
read -p "Domain name: " domain_name;
read -p "Enter password: " pass;
# Verify if there is imput "conditional expressions"
# man test; help [[
# ==================================================
if [[ $domain_name ]]; then
openssl genrsa -aes256 -out root/ca/intermediate/private/${domain_name}.key.pem 2048
chmod 400 root/ca/intermediate/private/${domain_name}.key.pem
openssl req -config root/ca/intermediate/openssl.cnf -key root/ca/intermediate/private/${domain_name}.key.pem -new -sha256 -out root/ca/intermediate/csr/${domain_name}.csr.pem
openssl ca -config root/ca/intermediate/openssl.cnf -extensions server_cert -days 475 -notext -md sha256 -in root/ca/intermediate/csr/${domain_name}.csr.pem -out root/ca/intermediate/certs/${domain_name}.cert.pem
chmod 444 root/ca/intermediate/certs/${domain_name}.cert.pem
else
echo "Insert a domain name."
fi
if openssl x509 -noout -text -in intermediate/certs/${domain_name}.cert.pem; then
openssl verify -CAfile root/ca/intermediate/certs/ca-chain.cert.pem intermediate/certs/${domain_name}.cert.pem
fi
ssl
실제로 실패하지 않고 자체 서명된 인증서를 자동으로 생성하려면 스크립트가 필요합니다 .
전달해야 하는 입력은 password
, 입니다 domain name
.
답변1
유사한 방법을 사용하여 Bash에서 이 작업을 수행할 수 있습니다.
#!/bin/bash
domain="domain.com"
pass="somethingCompleX"
your_script.sh <<EOF
$domain
$password
EOF
귀하의 질문에 제공된 스크립트인 "your_script.sh"를 사용하십시오.
이 구문을 사용하면 스크립트 입력에 일부 문자열을 전달할 수 있습니다. 첫 번째는 <<EOF
스크립트에 전달하려는 문자열의 끝을 나타내는 "파일 끝" 표시를 제공합니다. 이후의 모든 문자는 스크립트로 전달되므로
your_script.sh <<EOF
foo
bar
EOF
동일한
$ your_script.sh
Domain name: foo
password: bar
이것도 참고하시면 됩니다stackoverflow에 대한 답변