bash - 在 bash 变量中保存带空格的路径
问题描述
我遇到了一个非常非常简单的任务的问题。为了后续使用,我想将一个目录名存储在一个包含空格的变量中。为了看看它是否有效,我用ls
.
#!/bin/bash
BASE_DIR=/home/woodrow/Documents/"sleepy kittens"/
#SOURCE_FILE=${BASE_DIR}file.mp4
ls ${BASE_DIR}
但是我该如何防止这种胡说八道呢?
ls: cannot access '/home/woodrow/Documents/sleepy': No such file or directory
ls: cannot access 'kittens': No such file or directory
我尝试过但没有奏效的变体:
BASE_DIR=/home/woodrow/Documents/sleepy kittens/
BASE_DIR="/home/woodrow/Documents/sleepy kittens/"
BASE_DIR=/home/woodrow/Documents/`sleepy kittens`/
BASE_DIR=/home/woodrow/Documents/"`sleepy kittens`"/
BASE_DIR=$(/home/woodrow/Documents/sleepy kittens/)
BASE_DIR=$("/home/woodrow/Documents/sleepy kittens/")
BASE_DIR=$("`/home/woodrow/Documents/sleepy kittens/`")
BASE_DIR=$(echo /home/woodrow/Documents/sleepy kittens/)
BASE_DIR=$(echo "/home/woodrow/Documents/sleepy kittens/")
BASE_DIR=$(echo "`/home/woodrow/Documents/sleepy kittens/`")
ls "${BASE_DIR}"
BASE_DIR=/home/woodrow/Documents/
STEP="${BASE_DIR}sleepy kittens/"
ls ${STEP}
有人可以启发我吗?
解决方案
你可以这样做 :
(0) matias #> touch 'my spaced file.txt'
(0) matias #> myFile='my spaced file.txt'
(0) matias #> ls -lh "$myFile"
-rw-rw-r-- 1 matias matias 0 Feb 19 15:21 'my spaced file.txt'
推荐阅读
- reactjs - 试图运行 webpack 以获取 bundle.js 文件时卡住了
- python - Python TCP 套接字服务 %100 CPU 使用率
- python - 如何在二进制图像中随机拾取非零像素的位置?
- python - 为什么调用 Python 的“魔术方法”不像对应的运算符那样进行类型转换?
- python - Python Pandas - 在所有列的单元格中搜索正则表达式匹配
- java - 测试 LITTLE_ENDIAN 和 BIG_ENDIAN 方案
- java - 如何显示我自己的 FileNotFoundException 消息
- networkx - 如何删除networkx中的随机边?
- nativescript - Tabview 与 GridLayout 与 DockLayout
- flutter - Flutter Horizontal ListView下添加行而不是无限滚动