【问题标题】:how to include path of a directory containing files inside bash script如何在bash脚本中包含包含文件的目录的路径
【发布时间】:2020-10-22 00:24:08
【问题描述】:

我正在编写一个 bash 脚本,它将获取用户定义的文件名,然后使用 alsa 播放该文件:

#!/bin/bash
export PATH=$PATH:/home/pi/Documents/audio
read -p "Enter a filename: " filename
aplay $filename

以上是我在阅读了有关如何在脚本中包含路径后尝试的内容。但是在终端提示符下,在我执行./script.sh 之后,它在目录中没有返回这样的文件。我也试过source ./script.sh,认为环境只在子shell中改变,它返回相同。

我只需要在此脚本中包含路径,并且不会永久更改系统路径。

如果有人能指出正确的方向,我将不胜感激。谢谢!

【问题讨论】:

    标签: bash path


    【解决方案1】:

    PATH 用于查找程序,而不是数据文件。如果您希望$filename 成为audio 目录中的文件,则需要将其显式连接。

    #!/bin/bash
    audiodir=/home/pi/Documents/audio
    read -r -p "Enter a filename: " filename
    aplay "$audiodir/$filename"
    

    【讨论】:

    • 啊,我不知道。谢谢!
    【解决方案2】:

    尝试像这样指定正在播放的文件的绝对路径:

    #!/bin/bash
    AUDIO_PATH="/home/pi/Documents/audio"
    read -p "Enter a filename: " filename
    aplay "${AUDIO_PATH}/${filename}"
    

    【讨论】:

      猜你喜欢
      • 2019-09-30
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 2012-06-05
      相关资源
      最近更新 更多