这是我第一次来到这里,因为我终于开始学习编程了。无论如何,我只是试图每秒打印纳秒级别的时间,我有以下代码:
#!/usr/bin/env bash
while true;
do
date=(date +%N) ;
echo $date ;
sleep 1 ;
done
现在,这只是返回了一串日期字符串,而这不是我想要的结果。出了什么问题?我的学习过程有些混乱,如果这个问题真的很简单,请原谅我。同时,我确实成功找到了一个可以在提示符下工作的解决方案:
while true ; do date +%N ; sleep 1 ; done
但是这显然不能作为一个脚本工作吧?
如果有人看到这个,编辑一下:啊,这确实修复了我的错误。我注意到你没有添加分号。那是因为我只定义了一个变量吗?另外,你能解释一下$是什么吗?我以为它是用来调用变量的。而且我发现上面的代码确实可以作为一个脚本运行;我原本以为date的输出不会被显示在屏幕上。
$
,它根据后面跟着的内容执行许多不同的操作:$var
和${var}
展开一个变量,$(command)
运行一个命令并替换其输出,以及(仅在 bash 中)$((expr))
计算一个数学表达式。 - Gordon Davisson