Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 带星号的变量_Linux_Bash_Ubuntu - Fatal编程技术网

Linux 带星号的变量

Linux 带星号的变量,linux,bash,ubuntu,Linux,Bash,Ubuntu,我需要找到一些带有$testhumb的图像文件,但是由于某种原因,下面的代码在我的bash脚本中不起作用,尽管我在终端中尝试了同样的方法,但它确实起了作用 randomStr=$(date | md5sum | tr -d ' -') tempThumb=$(echo "$randomStr _ tempthumb" | tr -d ' ') ls /dev/shm/$tempThumb*.jpg | sort -t '-' -n -k 2 | tr '\n' ' ' 您可以将第二行简化为:

我需要找到一些带有
$testhumb
的图像文件,但是由于某种原因,下面的代码在我的bash脚本中不起作用,尽管我在终端中尝试了同样的方法,但它确实起了作用

randomStr=$(date | md5sum | tr -d ' -')
tempThumb=$(echo "$randomStr _ tempthumb" | tr -d ' ')
ls /dev/shm/$tempThumb*.jpg | sort -t '-' -n -k 2 | tr '\n' ' '

您可以将第二行简化为:

tempThumb="${randomStr}_tempthumb"
您甚至可以使用:

tempThumb=$(date | md5sum | tr -d ' -')_tempthumb
替换前两行

不过,这并不能解释问题所在。
/bin/sh
是指向
bash
或其他shell的链接吗?[答:这是一个链接,指向
dash
]

这个剧本有一句社邦式的台词吗?它是否列出了
#/bin/bash
#/bin/sh
还是别的什么?(在Mac OS X上,
/bin/bash
/bin/sh
都可以根据需要在脚本上工作:

tt="cs"
ls $HOME/soq/$tt*.c
清单3在
$HOME/soq
中以
cs
开头并以
.c
结尾的文件

[这]实际上解决了我的问题-
ls/dev/shm/${testhumb}*.jpg


有趣-很高兴能帮上忙。我刚刚从Debian下载并构建了dash 0.5.7-3,并在Mac OS X 10.8.4上构建了它,然后在上面的两行脚本中使用了它,它在
dash
sh
中都运行良好。我认为使用
${atterhumb}
是一个好主意,但是我没有很好的解释为什么您会遇到这个问题。也许您对shell有一个非默认设置?

unix.stackexchange.comIt是关于shell编程的-一个有限的例子,但仍然是shell编程。shell编程是关于SO的主题。您能展示一下如何填充$TENTHUMB吗?
$TENTHUMB
中有什么内容吗?您可以将第二行简化为:
TENTHUMB=“${randomStr}\u TENTHUMB”
。您甚至可以使用:
atterhumb=$(date | md5sum | tr-d'-')\u-atterhumb
替换前两行。不过,这并不能解释问题所在。
/bin/sh
是指向
bash
或其他shell的链接吗?这个剧本有一句社邦式的台词吗?它是否列出了
#/bin/bash
#/bin/sh
还是别的什么?(在Mac OS X上,
/bin/bash
/bin/sh
都可以在以下位置按需工作:
tt=“cs”;ls$HOME/soq/$tt*.c
,列出了以
cs
开头和以
$HOME/soq
结尾的3个文件)我的shebang行是
#/bin/bash
=)。“也许你有一个非默认的shell设置?”我不这么认为,你玩过bash设置吗。