第一次来到这里,因为我终于开始学习编程了。无论如何,我只是想在这里每秒打印一次纳秒的时间,我有这个:
#!/usr/bin/env bash
while true;
do
date=(date +%N) ;
echo $date ;
sleep 1 ;
done
现在,这只是产生一个日期字符串,这不是我想要的。怎么了?我的学习相当混乱,所以如果真的很简单,我希望你能原谅我。此外,我确实设法很好地解决了这个问题:
while true ; do date +%N ; sleep 1 ; done
但这显然不适用于剧本?
编辑,如果有人看到这个:啊,这确实解决了我的错误。我注意到你没有添加;那是因为我只定义了一个变量吗?另外,你能解释一下$的作用吗?我以为是调用变量。而且我看到上面这行确实可以作为一个剧本;我原本预计日期的输出不会被放在屏幕上。
答案 0 :(得分:5)
更改
date=(date +%N) ;
到
date=$(date +%N)
答案 1 :(得分:1)
此版本应该可以使用
#!/bin/bash
while true; do
date=$(date +"%N")
echo Current date is $date
sleep 1
done
答案 2 :(得分:0)
您也可以将命令括在“`”(Backtick)之间。 例如:
date=`date +%N`
此致