[英]Bash Execute code if a variable is not empty
我希望你周末過得愉快
我正在嘗試創建一個腳本,該腳本僅在變量不為空並且變量為空時僅執行一次命令,如下所示:
#!/bin/bash
X=$1
function execute
{
if [ ! -z $X ]
then
$*
fi
}
execute for count in 1 2 3 4
execute do
execute echo $count
echo $(hostname)
execute done
您需要引用您的變量,並且您還應該使用 Bash 測試結構,除非可移植性是一個問題。 您的代碼可能還有其他問題,但這種重構應該可以解決您特別詢問的問題。
#!/bin/bash
x="$1"
execute () {
if [[ -n "$x" ]]; then
"$@"
fi
}
for count in {1..4}; do
execute echo "$count"
echo $(hostname)
done
根據您的主機名,這將 output 類似於:
1 localhost.local 2 localhost.local 3 localhost.local 4 localhost.local
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.