Có cách nào để chuyển hướng thiết bị xuất chuẩn và thiết bị xuất chuẩn thông qua biến như thêm tùy chọn lệnh trong tập lệnh không?
Ví dụ tôi có một kịch bản:
#!/bin/bash -x
TEST=">/dev/null 2>&1"
OPT='-p -v'
mkdir $OPT 123/123/123 $TEST
Tôi có thể thấy rằng OPT được thay thế -p
mà không có bất kỳ vấn đề nào và bash diễn giải nó dưới dạng tùy chọn. Nhưng chuyển hướng giải thích như tên thư mục.
$ ./test.sh
+ TEST='>/dev/null 2>&1'
+ OPT='-p -v'
+ mkdir -p -v 123/123/123 '>/dev/null' '2>&1'
mkdir: created directory `123/123'
mkdir: created directory `123/123/123'
mkdir: created directory `>/dev'
mkdir: created directory `>/dev/null'
mkdir: created directory `2>&1'
Có cách nào để nói bash không, rằng $ VAR là chuyển hướng, không phải là tên dirs.
Tái bút Có thể tôi đang đi sai đường, nhưng tôi muốn tạo ra đầu ra dài dòng tùy chọn hoặc không dài dòng từ tập lệnh của mình. Nhưng tôi cần một số đầu ra ngay cả trong chế độ không dài dòng, do đó tôi không thể chuyển hướng toàn bộ thiết bị xuất chuẩn và thiết bị xuất chuẩn, chỉ từ một số lệnh bên trong tập lệnh của tôi.