Điểm:0

First argument should convert to a variable and execute

lá cờ cn

I have declared arg="echo demo"

When we execute the command my_command arg, then arg should be converted to $arg and should be executed like

my_command () {
    $arg
}

How do I call $1 as a variable?

Liso avatar
lá cờ sd
Không phải những gì bạn đã khai báo `arg="echo demo"` là một biến sao?
tripleee avatar
lá cờ nz
Không có cách nào để chức năng của bạn hoạt động chính xác với các chuỗi được trích dẫn. Dù sao thì việc gán một lệnh cho một chuỗi có lẽ là điều sai trái. Có thể xem https://mywiki.wooledge.org/BashFAQ/050
Điểm:2
lá cờ us

Các đánh giá Shell tích hợp thực hiện những gì bạn muốn:

$ trợ giúp đánh giá
eval: eval [arg ...]
    Thực thi các đối số như một lệnh shell.

    Kết hợp các ARG thành một chuỗi, sử dụng kết quả làm đầu vào cho trình bao,
    và thực hiện các lệnh kết quả.

Vì vậy, chức năng của bạn có thể trông như thế này:

Lệnh của tôi() {
    đánh giá $1
}

Thay vì $1 bạn cũng có thể đặt $*Lệnh của tôi sẽ lấy một số đối số tùy ý.

Lưu ý rằng sau đó Lệnh của tôi ít hơn một bí danh cho đánh giá, vì vậy bạn cũng có thể làm:

bí danh my_command=eval

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.