小编Yol*_*and的帖子

行尾(新行)在bash中转义

Escape character(\)可用于逃避行尾,例如

% echo This could be \
a very \
long line\!
This could be a very long line!
%
Run Code Online (Sandbox Code Playgroud)

但是,它不是由\n两个字符表示的行尾(换行).不应该逃避的结果是字面意思\n.例如

%echo $'\\n'
\n
%
Run Code Online (Sandbox Code Playgroud)

谢谢您的回答!

编辑:对不起,我没有解释得那么好.我不是想回应一条新线.我想知道为什么\能够使用\n两个字符的新行字符()而不是在新行字符中转义反斜杠并生成\n的字面值

linux bash shell

14
推荐指数
1
解决办法
5万
查看次数

从额外的命令行启动Android活动

我创建了一个简单的活动,我想从命令行启动并从命令行传递一些值.

但是,如果我尝试做的话

adb shell am start com.example.mike.app/.SimpleActivity --es "Message" "hello!"
Run Code Online (Sandbox Code Playgroud)

然后在activity中接收消息,intent.getExtras()返回null.

活动:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);

    Intent intent = getIntent();
    Bundle bundle = intent.getExtras();
    Log.d(LOGTAG, intent == null ? "Intent is null" : "Intent is not null");
    Log.d(LOGTAG, bundle == null ? "Bundle is null" : "Bundle is not null");
}
Run Code Online (Sandbox Code Playgroud)

结果:

SimpleActivity(12345): Intent is not null
SimpleActivity(12345): Bundle is null
Run Code Online (Sandbox Code Playgroud)

android adb android-intent

9
推荐指数
1
解决办法
2万
查看次数

Python引用一个新实例交替

这些天我一直在玩Python,我意识到Python如何将id(地址)分配给新实例(int和list).

例如,如果我使用数字(或两个不同的数字)保持调用id函数,则返回相同的结果.例如

>>> id(12345)
4298287048
>>> id(12345)
4298287048
>>> id(12345)
4298287048
>>> id(12342) #different number here, yet still same id
4298287048
Run Code Online (Sandbox Code Playgroud)

此外,当我先声明变量然后用它调用id()时,结果就像这样交替.

>>> x = []; id(x)
4301901696
>>> x = []; id(x)
4301729448
>>> x = []; id(x)
4301901696
>>> x = []; id(x)
4301729448
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这背后的Python工作吗?还有,有一本书或一个网站,我可以阅读有关Python的这一部分(分配内存地址,幕后工作等),因为我从python文档中找不到什么

python python-2.7

6
推荐指数
1
解决办法
74
查看次数

shell脚本中的递归

我正在学习 Linux 命令,并且正在练习并尝试编写一个基本的 shell 脚本,其中ls *使用递归列出了所有文件和子文件夹中的文件,例如 。

#!/bin/bash

# list-all: one command to list them all!!!!

listit () {
        if [ -d "$1" ]
        then
                listit "$1"
        else
                echo "$1"
        fi  
}

ls | while read items; do
        listit "$items"
done
Run Code Online (Sandbox Code Playgroud)

然而,结果显示:

./list-all: line 16:  1101 Done                    ls
      1102 Segmentation fault: 11  | while read items; do
    listit "$items";
done
Run Code Online (Sandbox Code Playgroud)

这是因为 shell 不允许递归吗?请帮忙,谢谢!

linux bash shell recursion

5
推荐指数
1
解决办法
1万
查看次数

Python命令行参数分号循环错误

我正在尝试,python -mtimeit所以我把python -mtimeit "n = 0; while n < 10: pass" 然后出现了无效的语法错误.与分号和循环相同.

但是,当我尝试分号并单独循环时.两者都很好.

python -c "for i in range(10): print(n)"  
python -c "n = 1; n = 2; print(n)"
Run Code Online (Sandbox Code Playgroud)

为什么会如此?如何在timeit中测试while循环?非常感谢你!

python bash timeit

5
推荐指数
1
解决办法
1127
查看次数

Bash标准输出同时显示和重定向

在终端中,有时我想显示标准输出并将其保存为备份.但如果我使用重定向(> &>等),它不再显示终端输出.

我想我可以这样做ls > localbackup.txt | cat localbackup.txt.但它感觉不对.有没有实现这个目标的捷径?

谢谢!

linux bash terminal

2
推荐指数
1
解决办法
165
查看次数

标签 统计

bash ×4

linux ×3

python ×2

shell ×2

adb ×1

android ×1

android-intent ×1

python-2.7 ×1

recursion ×1

terminal ×1

timeit ×1