Một cách khác có thể làm cho các trường hợp và đi qua một tham số để kịch bản thực thi. Ví dụ có thể là: Trước tiên hãy tạo một tệp có tên là "script.sh". Sau đó chèn mã này trong đó:
#!/bin/sh
my_function() {
echo "this is my function."
}
my_second_function() {
echo "this is my second function."
}
case "$1" in
'do_my_function')
my_function
;;
'do_my_second_function')
my_second_function
;;
*) #default execute
my_function
esac
Sau khi thêm đoạn mã trên chạy các lệnh này để xem nó trong hành động:
[email protected]:/# chmod +x script.sh #This will make the file executable
[email protected]:/# ./script.sh #This will run the script without any parameters, triggering the default action.
this is my function.
[email protected]:/# ./script.sh do_my_second_function #Executing the script with parameter
this function is my second one.
[email protected]:/#
Để thực hiện công việc này như bạn yêu cầu bạn chỉ cần chạy
su username -c '/path/to/script.sh do_my_second_function'
và mọi thứ sẽ hoạt động tốt. Hy vọng điều này sẽ giúp :)
sudo không được bật. Quản trị viên hệ thống sẽ không bật tính năng này. –
Làm thế nào để bạn làm điều này với 'sudo'? một 'sudo my_function' đơn giản sẽ không hoạt động, ngay cả sau khi xuất hàm đó. – michas