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

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?