0
練習一些的Bash腳本:在ls輸出中包含換行符?
1 #!/bin/bash
2
3 read -p "Input the path to a file or directory: " TARGET_PATH
4
5 if [ -f "${TARGET_PATH}" ]
6 then
7 echo "${TARGET_PATH} is a file!"
8 echo $(ls ${TARGET_PATH} -l)
9 elif [ -d "${TARGET_PATH}" ]
10 then
11 echo "${TARGET_PATH} is a directory!"
12 echo $(ls ${TARGET_PATH} -l)
13 else
14 echo "${TARGET_PATH} is not a file or directory."
15 fi
這工作按預期如果TARGET_PATH
是一個文件,針對它的ls -l
命令運行不夠精細。
但如果它是一個目錄,ls -l
的輸出將多個項目壓縮成一行。
我嘗試在該例中迭代ls -l
命令,但它將所有內容按空格分隔,因此每個單獨的部分都以新行結束。
如果我們在終端輸入ls -l
,有沒有辦法輸出類似於我們所期望的內容?
變化'回聲$(LS $ {TARGET_PATH} -1-)''到LS -l 「$ {TARGET_PATH}」' – anubhava
@anubhava當然!!謝謝,我完全忘記了我可以直接編寫命令,就像我在終端中寫入這些命令一樣 –