tôi đã cùng một vấn đề chỉ là bây giờ
tôi nhận ra rằng việc thêm một chức năng kiểm tra và gửi lại rằng sẽ không còn quay trở lại chức năng trên của nó người gọi ví dụ.
On bash_functions
function install_packer_linux() {
check_wget && check_unzip
wget https://releases.hashicorp.com/packer/1.1.2/packer_1.1.2_linux_amd64.zip
unzip packer_1.1.2_linux_amd64.zip
mv packer ~/.local/bin
rm -f packer_1.1.2_linux_amd64.zip
}
function check_unzip() {
if ! [ -x "$(command -v unzip)" ]; then
echo "Error: unzip is not installed"
return 1
else
return 0
fi
}
function check_wget() {
if ! [ -x "$(command -v wget)" ]; then
echo "Error!: wget is not installed"
return 1
else
return 0
fi
}
$ source ~/.bash_functions
gì xảy ra ở đây là kể từ khi cờ là nơi duy nhất của nó trở nên install_packer_linux vẫn sẽ tiếp tục
Vì vậy, bạn có thể làm hai việc ở đây.Hoặc giữ định dạng hiện tại (chức năng gọi hàm khác) như là và đánh giá sử dụng giá trị truthy sau đó trở về nếu các giá trị không phải là truthy hoặc viết lại kiểm tra về chức năng installer_packer_linux chính
Truthy:
function install_packer_linux() {
check_wget && check_unzip || return
wget https://releases.hashicorp.com/packer/1.1.2/packer_1.1.2_linux_amd64.zip
unzip packer_1.1.2_linux_amd64.zip
mv packer ~/.local/bin
rm -f packer_1.1.2_linux_amd64.zip
}
Thông báo chúng tôi đã thêm || trả lại sau khi kiểm tra và ghép các séc bằng cách sử dụng & & vì vậy nếu không phải cả hai kiểm tra đều đúng, chúng tôi trả lại hàm
Nguồn
2017-11-30 11:21:54
Trả lời của paxdiablo là hoàn hảo và phải được chấp nhận. – Tino