如何在import java.util.Date;
public class MyRunnableTask implements Runnable {
private String hostName;
private int port;
MyRunnableTask(String _hostName, int _port){
this.hostName = _hostName;
this.port = _port;
}
@Override
public void run() {
System.out.println(this.hostName + ":: I am getting executed: " + this.hashCode() + " | " + Thread.currentThread().getId() + " | " + new Date());
// implement your socket programming code here
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
中的Bash变量中添加带空格的路径?我想在.bashrc
中为路径存储一些变量,我遇到了一个带有空格的路径。
我尝试在.bashrc
之间添加它或使用转义字符' '
,但它没有帮助:
\
......当我跑步时:
games=/run/media/mohamedRadwan/games\ moves # this doesn't work
games='/run/media/mohamedRadwan/games moves' # or this
games="/run/media/mohamedRadwan/games moves" # or this
...它会抛出一个错误,表明它只是尝试挂载mount $games
。
但是当我运行/run/media/mohamedRadwan/games
时,它会显示完整值echo $games
。
我该如何解决这个问题?
答案 0 :(得分:9)
mount /dev/sda9 "$games"
如上所述,始终引用变量引用。否则,shell会将变量值中的空格混淆为分隔多个值的空格。
答案 1 :(得分:1)
当变量包含空格时,变量扩展然后分词将导致许多参数,echo命令将显示所有参数,但其他程序或函数可能以另一种方式处理参数。
带双引号的环绕变量将阻止参数被分割
printf "'%s'\n" $games
printf "'%s'\n" "$games"