我需要找到一些$tempThumb
的图像文件,但由于某种原因,下面的代码在我的bash脚本中不起作用,虽然我在终端尝试了相同的功能
randomStr=$(date | md5sum | tr -d ' -')
tempThumb=$(echo "$randomStr _ tempthumb" | tr -d ' ')
ls /dev/shm/$tempThumb*.jpg | sort -t '-' -n -k 2 | tr '\n' ' '
答案 0 :(得分:1)
您可以将第二行简化为:
tempThumb="${randomStr}_tempthumb"
你甚至可以使用:
tempThumb=$(date | md5sum | tr -d ' -')_tempthumb
替换前两行。
但这并没有解释这个问题。 /bin/sh
是bash
或其他shell的链接吗? [答案:它是dash
的链接。]
脚本是否有一个shebang线?它是否列出#!/bin/bash
或#!/bin/sh
或其他内容? (在Mac OS X上,/bin/bash
和/bin/sh
都可以在脚本上运行:
tt="cs"
ls $HOME/soq/$tt*.c
在cs
中列出以.c
开头并以$HOME/soq
结尾的3个文件。)
[这]实际上解决了我的问题 -
ls /dev/shm/${tempThumb}*.jpg
有趣 - 很乐意帮助。我刚刚从Debian下载并构建了破折号0.5.7-3并在Mac OS X 10.8.4上构建了它,然后在上面的两行脚本中使用它,它在dash
和{{1 }}。我认为使用sh
是一个好主意,但我没有一个很好的解释为什么你遇到了这个问题。也许你有一个非默认的shell设置?