【问题标题】:Explaining this Bash Script解释这个 Bash 脚本
【发布时间】:2019-09-20 07:25:16
【问题描述】:

好吧,我在 S6 EDGE 上闪现了一个 debloater 脚本,但我很好奇这些命令是如何工作的,所以我决定寻求一些帮助...

更新脚本

unmount("/system");
unmount("/data");
unmount("/preload");
ui_print(" ");

ui_print("Android 6.0 & 7.0 Debloat Script by Windforce0511");
ui_print("Script version: v1");
ui_print(" ");

ui_print("Mounting partitions: /system /data /cache");
run_program("/sbin/mount", "-t", "auto", "/system");
run_program("/sbin/mount", "-t", "auto", "/data");
run_program("/sbin/mount", "-t", "auto", "/cache");
ui_print("Partitions mounted");
ui_print(" ");

ui_print("Removing bloatware from /system/app");
run_program("/sbin/rm", "-rf", "system/app/AASAservice");
run_program("/sbin/rm", "-rf", "system/app/BluetoothMidiService");
run_program("/sbin/rm", "-rf", "system/app/CloudGateway2017");
run_program("/sbin/rm", "-rf", "system/app/GooglePrintRecommendationService");
run_program("/sbin/rm", "-rf", "system/app/FlipboardBriefing");
run_program("/sbin/rm", "-rf", "system/app/KnoxFolderContainer2");
run_program("/sbin/rm", "-rf", "system/app/KnoxRemoteContentsProvider");
run_program("/sbin/rm", "-rf", "system/app/Photos");
run_program("/sbin/rm", "-rf", "system/app/SBrowser_5.0");
run_program("/sbin/rm", "-rf", "system/app/ShareLink");
run_program("/sbin/rm", "-rf", "system/app/SPrintSpooler7");
run_program("/sbin/rm", "-rf", "system/app/Videos");
run_program("/sbin/rm", "-rf", "system/app/ANTPlusPlugins");
run_program("/sbin/rm", "-rf", "system/app/ANTPlusTest");
run_program("/sbin/rm", "-rf", "system/app/ANTRadioService");
run_program("/sbin/rm", "-rf", "system/app/AdvSoundDetector2015");
run_program("/sbin/rm", "-rf", "system/app/AllShareCastPlayer");
run_program("/sbin/rm", "-rf", "system/app/AllshareFileShare");
#run_program("/sbin/rm", "-rf", "system/app/EasyOneHand3");
run_program("/sbin/rm", "-rf", "system/app/FlipboardBriefingPanel");
run_program("/sbin/rm", "-rf", "system/app/Music2");
run_program("/sbin/rm", "-rf", "system/app/QuickConnect_40");
run_program("/sbin/rm", "-rf", "system/app/BBCAgent");
run_program("/sbin/rm", "-rf", "system/app/SBrowser_4_LATEST");
run_program("/sbin/rm", "-rf", "system/app/ColorBlind_M");
run_program("/sbin/rm", "-rf", "system/app/SecMemo3");
run_program("/sbin/rm", "-rf", "system/app/SimpleSharing");
ui_print("Done!");
ui_print(" ");

ui_print("Removing bloatware from /system/priv-app");
run_program("/sbin/rm", "-rf", "system/priv-app/AutoPreconfig");
run_program("/sbin/rm", "-rf", "system/priv-app/AccessControl_N");
run_program("/sbin/rm", "-rf", "system/priv-app/AutomationTest_FB");
run_program("/sbin/rm", "-rf", "system/priv-app/CallLogBackup");
run_program("/sbin/rm", "-rf", "system/priv-app/AssistantMenu_N");
run_program("/sbin/rm", "-rf", "system/priv-app/AxelSpringer");
run_program("/sbin/rm", "-rf", "system/priv-app/BeaconManager");
run_program("/sbin/rm", "-rf", "system/priv-app/ColorBlind_N");
run_program("/sbin/rm", "-rf", "system/priv-app/EasySetup");
#run_program("/sbin/rm", "-rf", "system/priv-app/GalaxyApps_3xh");
run_program("/sbin/rm", "-rf", "system/priv-app/GalaxyAppsWidget_Phone");
run_program("/sbin/rm", "-rf", "system/priv-app/GameHome");
run_program("/sbin/rm", "-rf", "system/priv-app/GameTools");
run_program("/sbin/rm", "-rf", "system/priv-app/OneDrive_Samsung_v2");
run_program("/sbin/rm", "-rf", "system/priv-app/PreloadInstaller");
#run_program("/sbin/rm", "-rf", "system/priv-app/SamsungAccount_Dream");
run_program("/sbin/rm", "-rf", "system/priv-app/SamsungCloud");
run_program("/sbin/rm", "-rf", "system/priv-app/SamsungMagnifier3");
run_program("/sbin/rm", "-rf", "system/priv-app/SamsungPass_1.1");
run_program("/sbin/rm", "-rf", "system/priv-app/SecEmail_N");
run_program("/sbin/rm", "-rf", "system/priv-app/SecureFolderStub");
run_program("/sbin/rm", "-rf", "system/priv-app/SFinder_v6");
run_program("/sbin/rm", "-rf", "system/priv-app/SNS_v2_N");
run_program("/sbin/rm", "-rf", "system/priv-app/SVoice");
run_program("/sbin/rm", "-rf", "system/priv-app/SvoicePLM");
run_program("/sbin/rm", "-rf", "system/priv-app/VoiceNote_5.0");
run_program("/sbin/rm", "-rf", "system/priv-app/VoiceNote_4.0");
run_program("/sbin/rm", "-rf", "system/priv-app/Fmm");
run_program("/sbin/rm", "-rf", "system/priv-app/FotaAgent");
run_program("/sbin/rm", "-rf", "system/priv-app/GalaxyBeta");
run_program("/sbin/rm", "-rf", "system/priv-app/GearManager");
run_program("/sbin/rm", "-rf", "system/priv-app/GoogleFeedback");
run_program("/sbin/rm", "-rf", "system/priv-app/HwModuleTest");
run_program("/sbin/rm", "-rf", "system/priv-app/ImsLogger+");
run_program("/sbin/rm", "-rf", "system/priv-app/KLMSAgent");
run_program("/sbin/rm", "-rf", "system/priv-app/LiveBroadcast");
run_program("/sbin/rm", "-rf", "system/priv-app/MyPlaces_Hero");
run_program("/sbin/rm", "-rf", "system/priv-app/PhoneErrService");
run_program("/sbin/rm", "-rf", "system/priv-app/PowerPoint_SamsungStub");
run_program("/sbin/rm", "-rf", "system/priv-app/RNB");
run_program("/sbin/rm", "-rf", "system/priv-app/RNBShell");
run_program("/sbin/rm", "-rf", "system/priv-app/sCloudBackupAppMOSUpgrade");
run_program("/sbin/rm", "-rf", "system/priv-app/SCloudService");
run_program("/sbin/rm", "-rf", "system/priv-app/SKSMAgent");
run_program("/sbin/rm", "-rf", "system/priv-app/SNS_v2");
run_program("/sbin/rm", "-rf", "system/priv-app/SOAgent");
run_program("/sbin/rm", "-rf", "system/priv-app/SPDClient");
run_program("/sbin/rm", "-rf", "system/priv-app/SPPPushClient_Prod");
run_program("/sbin/rm", "-rf", "system/priv-app/SVoiceLang_EnglishPack_GB_1.0");
run_program("/sbin/rm", "-rf", "system/priv-app/SVoiceLang_EnglishPack_US_1.0");
run_program("/sbin/rm", "-rf", "system/priv-app/SVoiceLang_FrenchPack_1.0");
ui_print("Done!");
ui_print(" ");

ui_print("Cleaning Cache and Dalvik-cache");
delete_recursive("/cache");
delete_recursive("/data/dalvik-cache");

ui_print("Unmounting partitions: /system /data /cache");
unmount("/data");
unmount("/cache");
unmount("/system");
ui_print(" ");

ui_print("Enjoy smoothness and much better battery life! :)");
ui_print(" ");
ui_print(" ");

ui_print("You can easily edit script and add character ' # ' to exclude certain APP from deleting.");
ui_print(" ");

ui_print("############################################");

以下是我不明白的地方:

  1. sbin/rm
  2. sbin/mount
  3. t
  4. 自动

我检查了手机上的 sbin 目录,但没有 rm 或 mount 文件。 所以请任何人向我详细解释一下,因为我是 Bash 脚本的新手。

【问题讨论】:

  • /sbin/rm/sbin/mount 是 linux 可执行文件,您可以在 Internet 上轻松找到它们的用途。 -t-auto 是这些可执行文件的参数。您也可以在互联网上找到他们每个人的工作。至于but there was no rm or mount files - 可能没有这些文件,因为您检查了它何时卸载,或者出于其他原因(我们都不知道为什么)
  • 在 sbin 文件夹中,除了 rm 或 mount 之外,所有其他文件都显示出来了。如果未安装,那么为什么显示这些其他文件。也许即使使用已root的设备我们也看不到它们,或者它们隐藏在系统中的某个地方。
  • or for some other reason (none of us could know why)

标签: android shell command-line adb


【解决方案1】:

你不明白的东西可以分成两个命令组,

  1. rm 组
    /sbin/rm -fr 静默删除目录和文件
  2. 挂载组
    /sbin/mount -t auto在自动配置参数下挂载分区,主要与mtabfstab相关

你可以对上面引用的术语做更多的研究

如果看不到/sbin下的rmmount文件,我能想到两种解释

  1. 只有具有有效 root 权限的应用程序才能执行此操作,并且您在扫描 /sbin 时正在一个不具有 root 权限的应用程序中查看。
    生根设备是通过在特殊目录下放置一个特殊的二进制文件su
    应用程序必须显式调用 exec("su") 以启动具有 root 权限的进程
    以便它可以删除系统文件,挂载或卸载分区等。
  2. 您在chroot环境中查看,真正的/sbin在环境之外。
    这不太可能发生在您的手机上,
    这是为进程(及其子进程)重新定位/ 目录的一种方式。

【讨论】:

    【解决方案2】:

    好吧,我想通了。

    使用的脚本语言称为Edify。虽然与 bash 类似,但格式不同,但都调用 Linux 程序来执行任务。 如果您愿意,可以阅读 rmmount 的手册(手册)页。对于在sbin 中寻找rmmount 文件的任何人,不要再找了,即使是root user 也不会找到它


    通常,这些天,在 TWRP 中。恢复将挂载一个busybox实现,该实现提供对安装在sbin目录中的基本Linux之类的程序的访问。您必须重新启动以恢复才能访问这些内容。

    【讨论】:

    • 2 个很好的答案!。请务必接受最能解决您的问题的答案,并支持任何有助于您理解的答案。祝你好运。
    • @shellter 我接受我自己的答案,但它说“你可以在 2 天内接受你自己的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2011-08-11
    • 2013-04-23
    相关资源
    最近更新 更多