小编Jah*_*hid的帖子

UITextView setText不更新文本

在我的笔尖中,我有一个UITextView组件.

在我的代码中我有一个UITextView字段,我使用Interface Builder来确保两者是连接的(至少我认为我是通过从"文件所有者"拖动并将其放在UITextViewInterface Builder中并选择我的成员变量来实现的) .

现在,当我更新文本时setText,UITextView仍然是空白的.

谢谢DeShawn

interface-builder uitextview ios4 ios

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

语法错误:bash脚本中出现"fi"意外(期望"然后")

我尝试做脚本:

#!/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)

问题出在哪儿?

bash scripting command-line sh

6
推荐指数
2
解决办法
9182
查看次数

如何从Bash脚本中的字符串中删除重复的单词?

我有一个包含重复单词的字符串,例如:

abc, def, abc, def
Run Code Online (Sandbox Code Playgroud)

如何删除重复项?我需要的字符串是:

abc, def
Run Code Online (Sandbox Code Playgroud)

bash

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

按Ctrl + C终止"grunt watch",但杀死从同一个bash开始的Atom编辑器,为什么?

我有这个脚本命名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并运行脚本,它没有关闭.

为什么原子关闭了?谢谢!

linux bash shell atom-editor

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

通过删除linux中的url参数重命名文件

我使用下载了一些文件,文件格式如下:

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.所以,请以任何方式提出建议,除此之外.

linux shell file file-rename batch-rename

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

删除除文件扩展名以外的所

假设我有一个字符串:

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)

这将删除最长的匹配,直到"." 但不知何故,它只是返回完整的字符串而不删除任何东西?

linux bash

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

takePicture在棒棒糖中失败了

以下代码在服务中拍摄背景图片.它适用于棒棒糖下面的所有版本,但在运行时例外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)

service camera android

5
推荐指数
0
解决办法
1191
查看次数

一步杀死并等待

如果我使用组合来批量杀死子进程并等待它终止,我使用

kill $PID
wait $PID
Run Code Online (Sandbox Code Playgroud)

如果该进程立即存在,则该进程wait将失败,因为 pid 不再运行。

有没有办法将两个语句组合成一个语句来避免错误?

编辑:我必须杀死的进程使用临时文件;因此它必须关闭(而不仅仅是发出关闭信号)才能再次启动它。检查 的返回值kill无济于事,因为这表明信号是否已成功传递。

linux bash kill waitpid

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

如何匹配以字符串开头的字符串(带正则表达式)

在bash脚本中,我必须匹配以字符串开头3次的字符串lo; 那么lololoba好,loloba是坏的,lololololoba是好的,balololo是坏的.

我尝试了这种模式:"^$str1/{$n,}" 但它不起作用,我怎么能这样做?

编辑:

根据OP的评论,lololololoba现在很糟糕.

regex linux bash

5
推荐指数
2
解决办法
85
查看次数

Bash for 循环和全局扩展

考虑以下 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

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