سلام بابت پاسخ ممنونم
اگر میشه روش ساختن alias رو توضیح بدین و اینکه اصلا چی هستش؟
در مورد اسکریپت هم ینی خودم میتونم با پایتون بنویسم؟ اگر بله لطفا راهنمایی کنید
ممنونم
alias یعنی اسم مستعار. یه مثالش la میتونه باشه. دستوری به اسم la وجود نداره. و وقتی شما میزنید la در اصل ls -a اجرا میشه. میتونید فایل bashrc. رو توی هوم خودتون رو ببینید. alias ها رو اینجوری تعریف میکنند:
alias alias-name='long command'
برای مورد شما میشه اینجوری توی فایل bashrc. تعریف کرد.
alias bat-to60='echo 60 | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold'
همینجوری برای ۸۰ و درصدهای دیگه هم میشه اعمال کرد. البته بهتره alias های جدید رو توی فایل bash-aliases. توی هوم خودتون بزارید تا فایل bashrc. عوض نشه.
درباره اسکریپت هم میشه با پایتون نوشتش ولی با bash هم میشه.
من اینو با bash برای شما نوشتم. اول چک میکنه که ورودی بین ۱ تا ۱۰۰ باشه. اگه بود بقیه اجرا میشه، اگه نبود، دوباره از کاربر میخواهد که ورودی بده.
اگه اینو همینجوری یه جای دیگه استفاده کنید، احتمالا به مشکل میخورید، چون بررسی نمیکنه که آیا یاتری وجود داره یا اسم باتری چی هست یا اصلا باتری از این ویژگی پشتیبانی میکنه یا نه.#!/bin/bash
while :
do
read -p "Pleas enter percentage (an integer between 1 to 100): " INPUT
if [ $i -gt 0 ] && [ $i -lt 101 ]; then
echo "$INPUT" | tee /sys/class/power_supply/BAT1/charge_control_end_threshold
if [ $? -eq 0]; then
echo "charge_control_end_threshold successfully set to $INPUT"
else
echo "Somthing happend and charge_control_end_threshold could not set to $INPUT"
fi
break
else
echo "Invalid input."
done
اینو توی یه فایل به هر اسمی میخواهید بنویسید و ذخیره کنید و حالا دسترسی اجرایی بهش بدید. (فرض میکنیم اسمش رو set-battery گذاشتید)
chmod +x set-battery
الان میتونید بزاریدش توی مسیر /usr/local/bin/ اینجوری هر موقع نیاز داشتید، میتونید با ترمینال ازش استفاده کنید.
sudo mv set-battery /usr/local/bin
الان میتونید اینجوری ازش استفاده کنید.
sudo set-battery 65
بهجای ۶۵ میتونید هر عدد صحیح بین ۱ تا ۱۰۰ رو بزارید و لپتاپ تا همون اندازه شارژ میشه.
بدیهی هست که توی درصدهای پایین (کمتر از ۱۰) ممکنه که درست کار نکنه چون معمولا توی اون شرایط باتری رفتار خطی نداره و اندازه گیری مقدارش توسط لپتاپ، خطای قابل توجهی داره و بهخاطر همین ممکنه نتیجه دلخواه بهدست نیاد.