#!/bin/bash
COUNTER=$#
until [ $COUNTER -eq 0 ]; do
args[$COUNTER]=\$$COUNTER
let COUNTER-=1
done
echo ${args[@]}
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到以下结果
user@host:~/sandbox# ./script.sh first second third
$1 $2 $3
Run Code Online (Sandbox Code Playgroud)
而且我期待它回应出1美元,2美元和3美元不是"1美元"的文本值
我正在尝试用bash编写一个脚本,它将创建一个数组,该数组的大小与我给它的参数数量相同.
我期待着
user@host:~/sandbox# ./script.sh alpha bravo charlie
alpha bravo charlie
Run Code Online (Sandbox Code Playgroud)
要么
user@host:~/sandbox# ./script.sh 23425 jasson orange green verb noun coffee
23425 jasson orange green verb noun coffee
Run Code Online (Sandbox Code Playgroud)
所以,目标是制作
args[0]=$1
args[1]=$2
args[2]=$3
args[3]=$4
Run Code Online (Sandbox Code Playgroud)
我拥有它的方式,$1,$2,$3不是插值,而是只是作为文本字符串读取.
由于我的可搜索关键字的广泛含义,我很难用谷歌搜索并搜索我正在尝试做的事情.
我正在尝试修改我的.conkyrc文件以根据温度更改字体颜色,这需要我写下这样的内容:
if [ $test >="50" and $test <="60"];
Run Code Online (Sandbox Code Playgroud)
我不希望上述内容完全起作用,我知道语法都是错误的,但这是我描述我想要完成的内容的最简单方法
下面是我配置中的一个实际部分,我试图在没有"和"或"或"的情况下进行,但当然,它不能像我希望的那样工作.
${goto 45}${if_match "${platform coretemp.0 temp 2}" >= "115"}${color4}${endif}${if_match "${platform coretemp.0 temp 2}" >= "125"}${color5}${endif}${if_match "${platform coretemp.0 temp 2}" >= "145"}${color6}${endif}${if_match "${platform coretemp.0 temp 2}" >= "155"}${color7}${endif}${if_match "${platform coretemp.0 temp 2}" >= "170"}${color8}${endif}${platform coretemp.0 temp 2}°F
Run Code Online (Sandbox Code Playgroud)
另外,我可以使用带有conky的elseif吗?
${if_match "$test" >="113"}${color4}${elseif "$test1" <="120"}${color5}${endif}
Run Code Online (Sandbox Code Playgroud)
或类似的东西?