Xác định biến được khai báo ở đâu (*nix system)

Tue, 09 Feb 2021 12:08:12 GMT

Vấn đề

Mình có sử dụng một số plugin trong shell hiện tại, các plugin sẽ khai báo một số custom command, environment variable, … nên đôi khi sẽ override các setting riêng của mình. Mình cần xác định một custom command, environment variable, … được khai báo bởi plugin nào để disable.

Giải pháp

Tùy thuộc vào shell bạn đang sử dụng mà sẽ có cách khác nhau. Trong phạm vi bài viết, mình chỉ hướng dẫn cho hai shell phổ biến nhất là bash và zsh.

bash

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2


PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2

zsh

zsh -xl 2>&1


zsh -xl 2>&1