Tôi đang làm việc với một tập lệnh bash mà tôi muốn làm việc cho một số loại VCS. Tôi đang nghĩ đến việc kiểm tra nếu một thư mục là một repo cho một hệ thống bằng cách chạy một lệnh thông tin thông thường và kiểm tra mã trả về, thành công hay lỗi. Trong mã giả:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
Tôi có thể chạy một lệnh, ví dụ
darcs show repo
và sử dụng $?
để lấy mã trả về của nó.
Câu hỏi của tôi là: có cách nào gọn gàng để chạy và trả về số mã trả về trong một dòng không? ví dụ
if [ 0 -eq `darcs show repo`$? ];
Hay tôi phải xác định một hàm?
Một yêu cầu bổ sung là cả stderr và stdout nên được in.