当我去回答这个问题时,我打算使用这个${}符号,因为我在这里已经看过很多次,所以最好用反引号.
但是,当我尝试
joulesFinal=${echo $joules2 \* $cpu | bc}
Run Code Online (Sandbox Code Playgroud)
我收到了消息
-bash: ${echo $joules * $cpu | bc}: bad substitution
Run Code Online (Sandbox Code Playgroud)
但
joulesFinal=`echo $joules2 \* $cpu | bc`
Run Code Online (Sandbox Code Playgroud)
工作良好.那么我需要做出哪些其他改变呢?
我似乎无法通过zsh运行这两个脚本.有任何想法吗?
(在.zshrc中)
# hidden files
alias show= 'bash /usr/local/bin/show.sh'
alias hide= 'bash /usr/local/bin/hide.sh'
Run Code Online (Sandbox Code Playgroud) 如果在printf(1)格式字符串中放入变量,ShellCheck会发出警告。为什么?
是:
printf "$file does not exist\n"
Run Code Online (Sandbox Code Playgroud)
在某些方面不如:
printf "%s does not exist\n" "$file"
Run Code Online (Sandbox Code Playgroud) 我有一个初始化脚本,它设置了几个变量供以后使用.最后一行定义了一个"提示"功能,我希望它会改变我的提示,作为初始化已经完成的指示.变量设置,所以它不是作为子进程运行,但我的提示顽固地保持在"PS".出了什么问题?
这是脚本,有我试过的两个版本的函数
$II_SYSTEM = "F:\Apps\Ingres92"
$env:PATH = "$II_SYSTEM\ingres\bin;$II_SYSTEM\ingres\utility;$env:PATH"
$env:LIB = "$II_SYSTEM\ingres\lib;$env:LIB"
$INCLUDE = "$II_SYSTEM\ingres\files;$INCLUDE"
function prompt{"PS $PWD IX>"}
function prompt{write-output ("PS $PWD IX>") -nonewline}
Run Code Online (Sandbox Code Playgroud)
谢谢.
当我退出vim时,显示屏会恢复到我输入前看到的任何内容.在非vim vi上,除了底线之外,你保持vi屏幕完好无损.
在vim中有一个允许后一种行为的选项吗?
要强制在base10中解释数字,可以在前缀10#之前加上数字。特别是10#08和10#09将被解释为有效的十进制数字,而不是无效的八进制数字。(我的输出为date +%S)
但是,似乎我无法在比较中使用该变量:
x=10#08
y=10#20
echo $((x+y)) // (returns 28, as expected)
while [ $x -lt $y ]
do
x=$((x++))
done
Run Code Online (Sandbox Code Playgroud)
给我错误
-bash: [: 10#08: integer expression expected
Run Code Online (Sandbox Code Playgroud)
这是bash中的错误吗?