
[英]bash script - rename all files in a directory containing *space *() *-
[英]how to include path of a directory containing files inside bash script
我正在编写一个 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中改变并且它返回相同的。
我所需要的只是在此脚本中包含路径,并且不会永久更改系统路径。
如果有人能指出我正确的方向,我将不胜感激。 谢谢!
PATH
用于查找程序,而不是数据文件。 如果您希望$filename
成为audio
目录中的文件,则需要明确连接它。
#!/bin/bash
audiodir=/home/pi/Documents/audio
read -r -p "Enter a filename: " filename
aplay "$audiodir/$filename"
尝试指定您正在播放的文件的绝对路径,如下所示:
#!/bin/bash
AUDIO_PATH="/home/pi/Documents/audio"
read -p "Enter a filename: " filename
aplay "${AUDIO_PATH}/${filename}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.