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的字面值
我创建了一个简单的活动,我想从命令行启动并从命令行传递一些值.
但是,如果我尝试做的话
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) 这些天我一直在玩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文档中找不到什么
我正在学习 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 不允许递归吗?请帮忙,谢谢!
我正在尝试,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循环?非常感谢你!
在终端中,有时我想显示标准输出并将其保存为备份.但如果我使用重定向(> &>等),它不再显示终端输出.
我想我可以这样做ls > localbackup.txt | cat localbackup.txt.但它感觉不对.有没有实现这个目标的捷径?
谢谢!