我正在尝试扩展包含通配符和大括号内指定的扩展集合的字符串。如下例所示,似乎没有任何效果。变量firstList扩大罚款,但没有secondList,thirdList还是fourthList扩展正确。我也尝试过各种版本,eval但都没有奏效。任何帮助,将不胜感激
#!/bin/bash
touch a.ext1
touch b.ext1
firstList='*.ext1'
ls $firstList
touch a.ext2
touch b.ext2
secondList='*.{ext1,ext2}'
ls $secondList
ls '$secondList'
ls "$secondList"
thirdList=*.{ext1,ext2}
ls $thirdList
ls '$thirdList'
ls "$thirdList"
fourthList="*.{ext1,ext2}"
ls $fourthList
ls '$fourthList'
ls "$fourthList"
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一条直线叠加到 .png 图像上。众所周知, GIMP无法用于简单的事情,因此人们建议使用Pinta。
然而,据我所知,您可以用该程序绘制的唯一线条是自由形式的线条,即,似乎没有类似标尺工具的东西。我怎样才能画一条直线?
或者有其他程序可以做到这一点吗?同样,我需要对现有的 .png 文件进行叠加,因此Xfig将无法工作。
下面的代码是基于mwe我编写的脚本的 mwe,我在其中以我认为通常的方式指定标志。但我看到了非常奇怪的行为。如果我输入mwe -e或mwe -n它认为没有参数并返回no arg。如果我输入mwe -k或mwe -i它认为argType不是"-"并返回breaking. 如果我注释掉以 a 结尾的四行#代码将按预期工作。这表明问题是由while循环引起的。有人可以解释一下发生了什么吗?
#!/bin/bash
foo=0
argType=`echo "$1" | cut -c 1`
while [ 1 -gt 0 ] ; #
do #
if [ $# -eq 0 ] ; then
echo no arg
exit
elif [ "$argType" != "-" ] ; then
#No more flags
echo breaking
break #
elif [ "$1" …Run Code Online (Sandbox Code Playgroud) 在 bash 中,我试图为以 \ 开头的行grep 文件,并使用反引号返回结果。
例如:
echo \\Hello > myFile
out=`cat myFile | grep '^\\Hello'`
echo $out
Run Code Online (Sandbox Code Playgroud)
什么都不返回,即使
cat myFile | grep '^\\Hello'
Run Code Online (Sandbox Code Playgroud)
返回,如预期的那样。
\Hello
Run Code Online (Sandbox Code Playgroud)
这看起来非常奇怪的外壳行为。特别是,tcsh 中的 anologous 命令序列做了人们所期望的:
set out=`cat myFile | grep '^\\Hello'`; echo $out
Run Code Online (Sandbox Code Playgroud)
返回
\Hello
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下这是怎么回事吗?谢谢
出于某种莫名其妙的原因,当我运行以下代码(显然是最小化)时,会创建一个名为“0”的文件。有人可以解释为什么会发生这种情况,以及如何避免它?非常感谢
#!/bin/bash
while [ 1 > 0 ]
do
exit
done
Run Code Online (Sandbox Code Playgroud)