我正在尝试编写一个安装包的脚本,但如果它在稍后的任何时候失败,脚本会回滚它安装的任何内容。当然,如果用户之前已经安装了一个包,我不想从他们下面卸载它。我的脚本如何判断一个包以前是否通过 yum 安装过?
在工作中,我经常编写 bash 脚本。我的主管建议将整个脚本分解为函数,类似于以下示例:
#!/bin/bash
# Configure variables
declare_variables() {
noun=geese
count=three
}
# Announce something
i_am_foo() {
echo "I am foo"
sleep 0.5
echo "hear me roar!"
}
# Tell a joke
walk_into_bar() {
echo "So these ${count} ${noun} walk into a bar..."
}
# Emulate a pendulum clock for a bit
do_baz() {
for i in {1..6}; do
expr $i % 2 >/dev/null && echo "tick" || echo "tock"
sleep 1
done
}
# Establish run order
main() { …
Run Code Online (Sandbox Code Playgroud)