#!/bin/bash
lockfile="/opt/puppetlabs/puppet/cache/state/agent_disabled.lock"
set -x
set -e
user=$(w -h | awk '{print $1}')
dateNow=$(date '+%F')
dateDefault=$(date '+%F' --date="next-day")
IFS= read -r -p "Enter short message why are you disbaling agent: " comment
IFS= read -r -p "Enter date(yyyy-mm-dd) till agent will be disabled: " dateExpiry
if [[ -z "${dateExpiry}" ]]; then
printf '%s\n' "No Date entered - Default date set next day"
dateExpiry="$dateDefault"
fi
if [[ -z "${comment}" ]]; then
printf '%s\n' "No input entered - Disabling message is not set"
exit 1
else
puppet agent --disable "$user:$dateExpiry:$comment"
if [ -f "$lockfile" ]; then
echo "puppet agent is disabled"
fi
fi
在上面的脚本中,如何在执行脚本设置变量(注解和日期到期)时使其成为非交互式的一行命令。
谢谢!
预期上述脚本为非交互式,并在执行脚本时设置变量。
1条答案
按热度按时间mrfwxfqh1#
添加超时
或者类似这样的东西来设置默认值
更新
如果要提供值,请在不更改脚本的情况下执行以下操作
这样脚本就可以读取它们。