Minh có một đoạn code như thế này
foo="${bar/-4m/}"
-4m
chỉ là một đoạn text thôi. foo
là local variable, bar
là input. Mình đã thử echo $foo
với đầu vào bar
khác nhau, có và không có đoạn -4m
. Nhưng kết quả $foo
lại vẫn giống nhau.
Ví dụ:
Trường hợp 1:
#! /bin/bash
bar="value-4m"
foo="${bar/-4m/}"
echo $foo
Output:
value
Trường hợp 2:
#! /bin/bash
bar="value"
foo="${bar/-4m/}"
echo $foo
Output:
value
Thêm một thông tin nữa là nếu mình có một cái if
thì kết quả trả ra khá lạ
#! /bin/bash
foo="value"
echo "foo" $foo
bar="${foo/-4m/}"
echo "bar" $bar
if [ "$foo" = "$bar" ]; then
echo "equal"
else
echo "!equal"
fi
Output:
foo value
bar value
equal
Nếu đổi foo="value-4m"
thì kết quả ra
foo value-4m
bar value
!equal