在我的笔尖中,我有一个UITextView组件.
在我的代码中我有一个UITextView字段,我使用Interface Builder来确保两者是连接的(至少我认为我是通过从"文件所有者"拖动并将其放在UITextViewInterface Builder中并选择我的成员变量来实现的) .
现在,当我更新文本时setText,UITextView仍然是空白的.
谢谢DeShawn
我尝试做脚本:
#!/bin/bash
IP='192.168.1.1'
fping -c1 -t300 $IP 2>/dev/null 1>/dev/null
if [ "$?" = 0 ]
then
echo "Host found"
else
echo "Host not found"
fi
Run Code Online (Sandbox Code Playgroud)
我把它转过来:
pi@raspberrypi ~ $ sh /home/pi/sh/test.sh
/home/pi/sh/test.sh: 9: /home/pi/sh/test.sh: Syntax error: "fi" unexpected (expecting "then")
Run Code Online (Sandbox Code Playgroud)
问题出在哪儿?
我有一个包含重复单词的字符串,例如:
abc, def, abc, def
Run Code Online (Sandbox Code Playgroud)
如何删除重复项?我需要的字符串是:
abc, def
Run Code Online (Sandbox Code Playgroud) 我有这个脚本命名wsjs.sh:
#!/bin/bash
WS=/home/user/wsjs
cd $WS
nohup atom . &
gnome-terminal
grunt watch
Run Code Online (Sandbox Code Playgroud)
如果我在bash中运行它:
./wsjs.sh
Run Code Online (Sandbox Code Playgroud)
然后原子编辑器,gnome-terminal分别启动,当前的bash显示:
user@ubuntu:~$ ./wsjs.pwd
nohup: appending output to ‘nohup.out’
Running "watch" task
Waiting...
Run Code Online (Sandbox Code Playgroud)
现在,如果我按ctrl + c,grunt watch退出,BUT原子编辑器也关闭.
......这很奇怪.
我在bash中手动输入了每个命令,并且原子未关闭.我用gedit替换了atom并运行脚本,它没有关闭.
为什么原子关闭了?谢谢!
我使用wget下载了一些文件,文件格式如下:
test.zip?AWSAccesskeyId=XXXXXXX&Expires=00000000&Signature=ZZZZZZZZZZ
Run Code Online (Sandbox Code Playgroud)
有没有办法,通过删除URL参数正确重命名这些文件.也有任何方法,下载这样的文件,具有正确的名称(没有URL参数)wget.
我尝试使用mmv以下命令:
mmv "*.zip*" "#1.zip"
Run Code Online (Sandbox Code Playgroud)
但我找不到任何安装方法mmv.我正在使用CentOS 6.所以,请以任何方式提出建议,除此之外.
假设我有一个字符串:
x=file.tar.sh
Run Code Online (Sandbox Code Playgroud)
我知道除了最后的n个字符之外如何删除所有内容.像这样(除去最后3个字符的所有内容:
${x: -3}
Run Code Online (Sandbox Code Playgroud)
但这对于具有不同后缀长度的文件不起作用.(len .tar!= len .sh)
我会通过删除所有内容直到最后一个点来解决这个问题.我试过这个:
${x##.}
Run Code Online (Sandbox Code Playgroud)
这将删除最长的匹配,直到"." 但不知何故,它只是返回完整的字符串而不删除任何东西?
以下代码在服务中拍摄背景图片.它适用于棒棒糖下面的所有版本,但在运行时例外takePicture(null,null,mcall).有任何想法吗..?
public void takePictures(final int delay)
{
final Camera.PictureCallback mCall = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Log.e(TAG, "Picture taken, saving....");
Uri uriTarget = getContentResolver().insert//(Media.EXTERNAL_CONTENT_URI, image);
(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new ContentValues());
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriTarget);
imageFileOS.write(data);
imageFileOS.flush();
imageFileOS.close();
Log.e("Image saved: ", uriTarget.toString());
savePictures(getRealPathFromURI(uriTarget.toString()));
mCamera.stopPreview();
mCamera.release();
mCamera = null;
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.e("Image not saved: ", e.toString());
} catch (IOException e) {
Log.e("Image not saved:2 ", e.toString());
e.printStackTrace();
}
} …Run Code Online (Sandbox Code Playgroud) 如果我使用组合来批量杀死子进程并等待它终止,我使用
kill $PID
wait $PID
Run Code Online (Sandbox Code Playgroud)
如果该进程立即存在,则该进程wait将失败,因为 pid 不再运行。
有没有办法将两个语句组合成一个语句来避免错误?
编辑:我必须杀死的进程使用临时文件;因此它必须关闭(而不仅仅是发出关闭信号)才能再次启动它。检查 的返回值kill无济于事,因为这表明信号是否已成功传递。
在bash脚本中,我必须匹配以字符串开头3次的字符串lo; 那么lololoba好,loloba是坏的,lololololoba是好的,balololo是坏的.
我尝试了这种模式:"^$str1/{$n,}" 但它不起作用,我怎么能这样做?
编辑:
根据OP的评论,lololololoba现在很糟糕.
考虑以下 bash 代码:
for f in /tmp/*.dat; do echo ${f}; done
Run Code Online (Sandbox Code Playgroud)
当我运行它并且输出中没有*.dat文件时/tmp:
/tmp/*.dat
Run Code Online (Sandbox Code Playgroud)
这显然不是我想要的。但是,当有这样的文件时,它会打印出正确的
/tmp/foo.dat
Run Code Online (Sandbox Code Playgroud)
当目录中没有这样的文件时,如何强制 for 循环返回“无”。该find-command是不是一种选择,对不起为:/我想也有一个解决方案,而测试中,如果*.dat是文件还是不行。到目前为止有任何解决方案吗?
bash ×7
linux ×5
shell ×2
android ×1
atom-editor ×1
batch-rename ×1
camera ×1
command-line ×1
file ×1
file-rename ×1
ios ×1
ios4 ×1
kill ×1
regex ×1
scripting ×1
service ×1
sh ×1
uitextview ×1
waitpid ×1