{"id":5226,"date":"2024-03-27T22:55:42","date_gmt":"2024-03-27T14:55:42","guid":{"rendered":"https:\/\/blog.coderfan.org\/?p=5226"},"modified":"2024-04-10T14:03:01","modified_gmt":"2024-04-10T06:03:01","slug":"android-adb-shell-command-line-prompt-modification","status":"publish","type":"post","link":"https:\/\/blog.coderfan.org\/en\/android-adb-shell-command-line-prompt-modification.html","title":{"rendered":"Android\u8bbe\u5907adb shell\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u5b9a\u5236\u4fee\u6539"},"content":{"rendered":"<div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>2 Minute, 26 Second                <\/div>\n\n            <\/div>\n<p class=\"has-text-align-justify\">\u5f53\u6211\u4eec\u901a\u8fc7adb shell\u8fdb\u5165Android\u7684shell\u73af\u5883\u65f6\uff0c\u547d\u4ee4\u884c\u5de6\u4fa7\u90fd\u4f1a\u663e\u793a\u5f53\u524d\u7684\u8bbe\u5907\u540d\u3002\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">c1200:\/ $<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u5728Linux\u73af\u5883\u4e0b\uff0c\u5f53\u6211\u4eec\u901a\u8fc7SSH\u8fde\u63a5\u8fdb\u5165Linux Shell\u65f6\uff0c\u547d\u4ee4\u884c\u5de6\u4fa7\u540c\u6837\u4f1a\u663e\u793a\u5f53\u524d\u8bbe\u5907\u7684\u540d\u79f0\uff0c\u4e0d\u540c\u7684\u662f\uff0cLinux\u73af\u5883\u4e0b\u663e\u793a\u7684\u8bbe\u5907\u540d\u79f0\uff0c\u5176\u5b9e\u662f\u5bf9\u5e94\u5f53\u524dLinux\u8bbe\u5907\u7684Hostname\u4e0eUser\u76f8\u7ed3\u5408\uff0c\u800c\u5b89\u5353\u9ed8\u8ba4\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u5219\u7b80\u5355\u4e00\u4e9b\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u5728Linux\u73af\u5883\u4e2d\uff0c\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u7684\u663e\u793a\u7531PS1\u73af\u5883\u53d8\u91cf\u51b3\u5b9a\uff0cAndroid\u5185\u540c\u6837\u5982\u6b64\uff0c\u8fd9\u91cc\u6211\u4eec\u67e5\u770b\u4e00\u4e0bPS1\u73af\u5883\u53d8\u91cf\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">PS C:\\Users\\bst> adb shell\nc1200:\/ # echo $PS1\n${| local e=$? (( e )) &amp;&amp; REPLY+=\"$e|\" return $e }$USER@$HOSTNAME:${PWD:-?} #\nc1200:\/ #<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u8be5\u73af\u5883\u53d8\u91cf\u7684\u503c\u8bbe\u5b9a\u7684\u542b\u4e49\u5177\u4f53\u89e3\u6790\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"has-text-align-justify\">${| &#8230; }\uff1a\u8fd9\u662f\u4e00\u79cd\u5f62\u5f0f\u7684\u547d\u4ee4\u66ff\u6362\uff0c\u5b83\u6267\u884c\u5176\u4e2d\u7684\u547d\u4ee4\u5e76\u5c06\u5176\u8f93\u51fa\u4f5c\u4e3a\u5b57\u7b26\u4e32\u63d2\u5165\u5230PS1\u4e2d\u3002\u5728\u8fd9\u4e2a\u60c5\u51b5\u4e0b\uff0c\u6574\u4e2a ${| &#8230; } \u7ed3\u6784\u5b9e\u9645\u4e0a\u662f\u7528\u6765\u8bbe\u7f6e\u63d0\u793a\u7b26\u7684\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">local e=$?\uff1a\u8fd9\u4e00\u884c\u58f0\u660e\u4e86\u4e00\u4e2a\u5c40\u90e8\u53d8\u91cf e \u6765\u5b58\u50a8\u4e0a\u4e00\u4e2a\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001,\u719f\u6089shell\u7684\u670b\u53cb\u5e94\u8be5\u77e5\u9053$? \u662f\u4e00\u4e2a\u7279\u6b8a\u53d8\u91cf\uff0c\u4fdd\u5b58\u4e86\u4e0a\u4e00\u4e2a\u6267\u884c\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001\u7801\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">(( e )) &amp;&amp; REPLY+=&#8221;$e|&#8221;\uff1a\u8fd9\u662f\u4e00\u4e2a\u6761\u4ef6\u8868\u8fbe\u5f0f\uff0c\u5b83\u68c0\u67e5\u53d8\u91cf e \u7684\u503c\u662f\u5426\u4e3a\u975e\u96f6\u3002\u5982\u679c\u662f\uff0c\u5b83\u5c06\u4e0a\u4e00\u4e2a\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001\u7801\u9644\u52a0\u5230\u63d0\u793a\u7b26\u5b57\u7b26\u4e32 REPLY \u4e2d\uff0c\u4ee5\u53ca\u4e00\u4e2a\u7ad6\u7ebf\uff08|\uff09\uff0c\u8868\u793a\u975e\u96f6\u9000\u51fa\u72b6\u6001\u7801\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">return $e\uff1a\u8fd9\u4e00\u884c\u4f1a\u8fd4\u56de\u4e0a\u4e00\u4e2a\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001\u7801\u3002\u8fd9\u610f\u5473\u7740\uff0c\u5982\u679c\u524d\u4e00\u4e2a\u547d\u4ee4\u5931\u8d25\uff08\u9000\u51fa\u72b6\u6001\u7801\u975e\u96f6\uff09\uff0c\u90a3\u4e48\u6574\u4e2a\u63d0\u793a\u7b26\u5c06\u4f1a\u5305\u542b\u8be5\u5931\u8d25\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001\u7801\uff0c\u5e76\u4e14Shell\u7684\u9000\u51fa\u72b6\u6001\u7801\u5c06\u4f1a\u88ab\u8bbe\u7f6e\u4e3a\u8be5\u503c\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">$HOSTNAME\uff1a\u8fd9\u662f\u4e3b\u673a\u540d\u53d8\u91cf\uff0c\u7528\u4e8e\u663e\u793a\u5f53\u524d\u4e3b\u673a\u7684\u540d\u79f0\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">${PWD:-?}\uff1a\u8fd9\u662f\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u7684\u53d8\u91cf\u3002${PWD} \u4f1a\u663e\u793a\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u7684\u7edd\u5bf9\u8def\u5f84\u3002\u5982\u679c\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u65e0\u6cd5\u83b7\u53d6\uff0c\u5b83\u4f1a\u663e\u793a\u4e00\u4e2a\u95ee\u53f7\uff08?\uff09\u4f5c\u4e3a\u5360\u4f4d\u7b26\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u6240\u4ee5\uff0c\u7efc\u4e0a\u6240\u8ff0\uff0c\u8fd9\u4e2a PS1 \u8bbe\u7f6e\u7684\u542b\u4e49\u662f\uff1a\u663e\u793a\u4e3b\u673a\u540d\u3001\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u7684\u7edd\u5bf9\u8def\u5f84\uff0c\u5e76\u5728\u63d0\u793a\u7b26\u4e2d\u663e\u793a\u4e0a\u4e00\u4e2a\u547d\u4ee4\u7684\u9000\u51fa\u72b6\u6001\u7801\uff08\u5982\u679c\u5b58\u5728\uff09\uff0c\u4ee5\u53ca\u4e00\u4e2a\u7ad6\u7ebf\u5206\u9694\u7b26\uff1b\u90a3\u4e48PS1\u662f\u5982\u4f55\u88ab\u8bbe\u7f6e\u7684\u5462\uff0c\u5173\u4e8e\u8fd9\u90e8\u5206\u7684\u8bbe\u7f6e\u903b\u8f91\uff0c\u8fd9\u91cc\u6211\u4eec\u9700\u8981\u53c2\u8003sh\u7684\u6e90\u7801\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">\/\/external\/mksh\/src\/main.c\nif (Flag(FLOGIN))\n            include(substitute(\"$HOME\/.profile\", 0), 0, NULL, true);\nif (Flag(FTALKING)) {\n       cp = substitute(\"${ENV:-\" MKSHRC_PATH \"}\", DOTILDE);\n       if (cp[0] != '\\0')\n          \/\/ include\u5c5e\u4e8e\u81ea\u5b9a\u4e49\u51fd\u6570\n          include(cp, 0, NULL, true);\n}\n\n\/\/include\u4e3a\u81ea\u5b9a\u4e49\u5b9e\u73b0\u7684\u51fd\u6570\uff0c\u5b9e\u73b0\u4e86\u5bf9shell\u73af\u5883\u53d8\u91cf\u7684\u914d\u7f6e\ninclude(const char *name, int argc, const char **argv, bool intr_ok)\n{\n    Source *volatile s = NULL;\n    struct shf *shf;\n    const char **volatile old_argv;\n    volatile int old_argc;\n    int i;\n\n    shf = shf_open(name, O_RDONLY | O_MAYEXEC, 0, SHF_MAPHI | SHF_CLEXEC);\n    if (shf == NULL)\n        return (-1);\n\n    if (argv) {\n        old_argv = e->loc->argv;\n        old_argc = e->loc->argc;\n    } else {\n        old_argv = NULL;\n        old_argc = 0;\n    }\n    newenv(E_INCL);\n    if ((i = kshsetjmp(e->jbuf))) {\n        quitenv(s ? s->u.shf : NULL);\n        if (old_argv) {\n            e->loc->argv = old_argv;\n            e->loc->argc = old_argc;\n        }\n        switch (i) {\n        case LRETURN:\n        case LERROR:\n        case LERREXT:\n            \/* see below *\/\n            return (exstat &amp; 0xFF);\n        case LINTR:\n            \/*\n             * intr_ok is set if we are including .profile or $ENV.\n             * If user ^Cs out, we don't want to kill the shell...\n             *\/\n            if (intr_ok &amp;&amp; ((exstat &amp; 0xFF) - 128) != SIGTERM)\n                return (1);\n            \/* FALLTHROUGH *\/\n        case LEXIT:\n        case LLEAVE:\n        case LSHELL:\n            unwind(i);\n            \/* NOTREACHED *\/\n        default:\n            internal_errorf(Tunexpected_type, Tunwind, Tsource, i);\n            \/* NOTREACHED *\/\n        }\n    }\n    if (argv) {\n        e->loc->argv = argv;\n        e->loc->argc = argc;\n    }\n    s = pushs(SFILE, ATEMP);\n    s->u.shf = shf;\n    strdupx(s->file, name, ATEMP);\n    i = shell(s, 1);\n    quitenv(s->u.shf);\n    if (old_argv) {\n        e->loc->argv = old_argv;\n        e->loc->argc = old_argc;\n    }\n    \/* &amp; 0xff to ensure value not -1 *\/\n    return (i &amp; 0xFF);\n}<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u8fd9\u91ccMKSHRC_PATH\u7684\u503c\u4e3a\/system\/etc\/mkshrc\uff0c\u5176\u5185\u5bb9\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">set +o nohup\nif (( USER_ID )); then PS1='$'; else PS1='#'; fi\nPS4='[$EPOCHREALTIME] '; PS1='${|\n    local e=$?\n    (( e )) &amp;&amp; REPLY+=\"$e|\"\n    return $e\n}$HOSTNAME:${PWD:-?} '\"$PS1 \"<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u6240\u4ee5\u8fd9\u91ccPS1\u7684\u8bbe\u7f6e\u903b\u8f91\u5176\u5b9e\u662f\u901a\u8fc7sh\u89e3\u6790\/system\/etc\/mkshrc\u6587\u4ef6\u540e\u914d\u7f6e\u5230\u73af\u5883\u53d8\u91cf\u5185\u7684\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u6240\u4ee5\u5982\u679c\u6211\u4eec\u8981\u4fee\u6539\u547d\u4ee4\u884c\u63d0\u793a\u7b26\uff0c\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539\/system\/etc\/mkshrc\u6587\u4ef6\u7684\u914d\u7f6e\uff0c\u6bd4\u5982\u6211\u5e0c\u671b\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u663e\u793a\u5f53\u524d\u6240\u5c5e\u7528\u6237\uff08\u4e00\u822c\u60c5\u51b5\u4e0b\u4e3ashell\u7528\u6237\uff0cadb root\u4e4b\u540e\u5219\u4e3aroot\u7528\u6237\uff09\uff0c\u5219\u53ef\u4ee5\u4fee\u6539\/system\/etc\/mkshrc\u4e3a\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">set +o nohup\nif (( USER_ID )); then PS1='$'; else PS1='#'; fi\nPS4='[$EPOCHREALTIME] '; PS1='${|\n    local e=$?\n    (( e )) &amp;&amp; REPLY+=\"$e|\"\n    return $e\n}$USER@$HOSTNAME:${PWD:-?} '\"$PS1 \"<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u4fee\u6539\u7684\u903b\u8f91\u5f88\u7b80\u5355\uff0c\u5176\u5b9e\u5c31\u662f\u5229\u7528$USER\u73af\u5883\u53d8\u91cf\u6765\u83b7\u53d6\u5f53\u524d\u7528\u6237\u4fe1\u606f\uff0c\u5e76\u5c06\u5176\u7f6e\u4e8eHOSTNAME\u4e4b\u524d\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u4e4b\u540e\u6211\u4eec\u518d\u91cd\u65b0adb shell\u8fdb\u5165,\u770b\u770b\u6548\u679c\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">shell@c1200:\/ $<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u6211\u4eec\u5148adb root\uff0c\u518dadb shell\u8fdb\u5165\uff0c\u4f1a\u53d1\u73b0\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">root@c1200:\/ $<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u662f\u4e0d\u662f\u4e0d\u4e00\u6837\u4e86\uff1f\u662f\u4e0d\u662f\u5f88\u795e\u5947\uff01<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u9664\u6b64\u4e4b\u540e\uff0c\u6211\u4eec\u5e94\u8be5\u8fd8\u5173\u6ce8\u5230\u5728\u8bbe\u7f6ePS1\u7684\u8fc7\u7a0b\u4e2d\u7528\u5230HOSTNAME\u73af\u5883\u53d8\u91cf\uff0c\u8be5\u53d8\u91cf\u7684\u503c\u4e00\u822c\u662f\u4e0ero.product.device\u7684\u503c\u4fdd\u6301\u4e00\u81f4\u7684\uff0c\u800cro.product.device\u4e0eAndroid\u7f16\u8bd1\u914d\u7f6e\u65f6\u7684\u73af\u5883\u53d8\u91cfTARGET_DEVICE\u4fdd\u6301\u4e00\u81f4\uff0cTARGET_DEVICE\u7684\u503c\u53c8\u4e0e\u6211\u4eec\u7684\u7f16\u8bd1\u914d\u7f6ePRODUCT_DEVICE\u914d\u7f6e\u4e00\u81f4;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u6240\u4ee5\u5982\u679c\u6211\u4eec\u8981\u4fee\u6539\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u4e2d\u7684\u8bbe\u5907\u6807\u8bc6\uff0c\u4e00\u6765\u6211\u4eec\u53ef\u4ee5\u4fee\u6539\u7f16\u8bd1\u914d\u7f6e\u65f6\u7684PRODUCT_DEVICE\u540d\u79f0\uff0c\u4e8c\u6765\u53ef\u4ee5\u4fee\u6539\/system\/etc\/mkshrc\uff0c\u8bbe\u5b9aHOSTNAME\u7684\u503c\u5373\u53ef\u3002<\/p>\n        <div class=\"booster-block booster-reactions-block\">\n            <div class=\"twp-reactions-icons\">\n                \n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-1\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/happy.svg\" alt=\"Happy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Happy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">1<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>50<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-2\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sad.svg\" alt=\"Sad\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sad                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-3\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/excited.svg\" alt=\"Excited\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Excited                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-6\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sleepy.svg\" alt=\"Sleepy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sleepy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-4\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/angry.svg\" alt=\"Angry\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Angry<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">1<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>50<\/span> %<\/span>\n                        \n                    <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-5\" post-id=\"5226\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/surprise.svg\" alt=\"Surprise\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Surprise<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>","protected":false},"excerpt":{"rendered":"<p>\u5982\u4f55\u5b9a\u5236\u4fee\u6539\u5b89\u5353adb shell\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26<\/p>","protected":false},"author":1,"featured_media":4483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[18],"tags":[46],"class_list":["post-5226","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operating-system","tag-android"],"blocksy_meta":[],"aioseo_notices":[],"featured_image_urls":{"full":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"thumbnail":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-150x150.jpg",150,150,true],"medium":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-300x158.jpg",300,158,true],"medium_large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"1536x1536":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"2048x2048":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"trp-custom-language-flag":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-18x9.jpg",18,9,true]},"post_excerpt_stackable":"<p>\u5982\u4f55\u5b9a\u5236\u4fee\u6539\u5b89\u5353adb shell\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26<\/p>\n","category_list":"<a href=\"https:\/\/blog.coderfan.org\/en\/category\/operating-system\" rel=\"category tag\">\u64cd\u4f5c\u7cfb\u7edf<\/a>","author_info":{"name":"FranzKafka95","url":"https:\/\/blog.coderfan.org\/en\/author\/yushenglonely95"},"comments_num":"0 comments","featured_image_urls_v2":{"full":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"thumbnail":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-150x150.jpg",150,150,true],"medium":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-300x158.jpg",300,158,true],"medium_large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"1536x1536":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"2048x2048":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"trp-custom-language-flag":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-18x9.jpg",18,9,true]},"post_excerpt_stackable_v2":"<p>\u5982\u4f55\u5b9a\u5236\u4fee\u6539\u5b89\u5353adb shell\u7684\u547d\u4ee4\u884c\u63d0\u793a\u7b26<\/p>\n","category_list_v2":"<a href=\"https:\/\/blog.coderfan.org\/en\/category\/operating-system\" rel=\"category tag\">\u64cd\u4f5c\u7cfb\u7edf<\/a>","author_info_v2":{"name":"FranzKafka95","url":"https:\/\/blog.coderfan.org\/en\/author\/yushenglonely95"},"comments_num_v2":"0 comments","_links":{"self":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/5226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/comments?post=5226"}],"version-history":[{"count":8,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/5226\/revisions"}],"predecessor-version":[{"id":5247,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/5226\/revisions\/5247"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/media\/4483"}],"wp:attachment":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/media?parent=5226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/categories?post=5226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/tags?post=5226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}