Câu trả lời:
Nếu bạn muốn nó là toàn cầu, hãy sửa đổi
/etc/profile
hoặc thêm một tập lệnh vào
/etc/profile.d
Nếu bạn muốn nó là dành riêng cho người dùng, hãy sửa đổi
/home/$USER/.profile
/usr/local/bin/pihole -c
lệnh trên autologin của người dùng cụ thể. Đã thêm dòng này vào /home/$USER/.profile
- không có gì xảy ra. Khi tôi thêm tập lệnh vào /etc/profile.d
thì nó hoạt động, nhưng nó toàn cầu và chạy nó ngay cả khi tôi mở phiên ssh (đó không phải là điều tôi muốn). Thêm vào .bashrc
hoạt động quá, nhưng chạy bất cứ khi nào tôi mở shell mới (đó không phải là điều tôi muốn). Câu hỏi: Tại sao thêm vào /home/$USER/.profile
sẽ không hoạt động ???
Chỉ cần thêm tập lệnh bash vào các ứng dụng Khởi động.
Trong trường lệnh, nhập
bash /full/path/to/bash/script.sh/
Nếu bạn muốn cụ thể hơn bash, bạn cũng có thể viết mã cho bạn trong ~ / .bash_profile hoặc ~ / .bash_login.
Và bạn có thể lấy bất kỳ tập lệnh nào trong đó, ví dụ:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profile
hoặc $HOME/.profile
hoặc$HOME/.bash_profile
Tôi rất khuyến khích không sử dụng /etc/profile.d/yourscript.sh
nếu nó tạo ra đầu ra. Khi bạn sử dụng một phiên không tương tác, bạn sẽ nhận được một $TERM is not set
tin nhắn. Điều này là đáng chú ý khi sử dụng giao thức ssh, như scp. Thường thì không phải là vấn đề lớn, tuy nhiên, Veeam không thích nó và sẽ đưa ra cảnh báo. Tôi biết Veeam không phải là chủ đề ở đây, nhưng điều đáng nói là không phải tất cả các ứng dụng sẽ duyên dáng bỏ qua $TERM is not set
cảnh báo.
Nói tóm lại, nếu tập lệnh tạo đầu ra, hãy đặt nó vào các vị trí được chỉ định trên dòng đầu tiên. Tuy nhiên, nếu bạn đang sửa đổi môi trường và tập lệnh của bạn không tạo đầu ra, thì hãy sử dụng cái sau.
.sh
nếu bạn đặt tập lệnh của mình vào trong/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
tất nhiên rồi