小编roj*_*oke的帖子

Backticks vs Bash中的大括号

当我去回答这个问题时,我打算使用这个${}符号,因为我在这里已经看过很多次,所以最好用反引号.

但是,当我尝试

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)

工作良好.那么我需要做出哪些其他改变呢?

bash command-substitution

45
推荐指数
2
解决办法
3万
查看次数

将自定义别名添加到.zshrc

我似乎无法通过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)

zsh

7
推荐指数
1
解决办法
7522
查看次数

printf 格式字符串中的变量插值与替换

如果在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)

shell printf shellcheck

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

从脚本中设置Powershell提示符

我有一个初始化脚本,它设置了几个变量供以后使用.最后一行定义了一个"提示"功能,我希望它会改变我的提示,作为初始化已经完成的指示.变量设置,所以它不是作为子进程运行,但我的提示顽固地保持在"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)

谢谢.

powershell

2
推荐指数
1
解决办法
588
查看次数

退出vim后保持编辑文件的视图

当我退出vim时,显示屏会恢复到我输入前看到的任何内容.在非vim vi上,除了底线之外,你保持vi屏幕完好无损.

在vim中有一个允许后一种行为的选项吗?

vim

2
推荐指数
1
解决办法
444
查看次数

Bash中的数字基

要强制在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中的错误吗?

bash arithmetic-expressions

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