簡體   English   中英

如何獲取帶有文件名的文件的完整路徑?

[英]How could I get the full path of a file with file name?

[ 解決方案 ]

感謝@oguzismail 和@stylo 我找到了解決方案。 在 find 命令中,我將2>&1修改為2>/dev/null並刪除了 grep 命令,但我發現它檢索到兩個不同路徑的問題(因為 Android studio 它在兩條不同的路徑)。

為了只獲取我想要的 apk 的路徑,我為我的 find 命令添加了一個“過濾器”,因此解決方案是:

find / -path ./intermediates -prune -o -name app-ipd-debug.apk 2>/dev/null

使用文件夾的名稱./intermediates-prune -o我可以獲得我想要的路徑。

在這篇文章中看到了解決方案

[ 問題 ]

我正在做一個 shell 腳本,該腳本構建一個 android 項目,安裝 apk 並在設備中進行更多配置,例如設置所有者設備所有者(是一個信息亭模式應用程序)等等。

現在我正在嘗試動態構建項目並獲取 apk 文件以安裝在設備中,但它無法正常工作。

我嘗試將完整路徑作為變量放在我的 shell 腳本中,這可以使用命令 adb install 安裝應用程序:

adb install -t -r $APK_PATH

我嘗試使用find命令獲取 APK_PATH,但它檢索到很多我不知道如何處理的 output,命令是:

find / -name apk-file-name.apk

顯示了許多帶有“ Permission denied ”和“ Operation not allowed ”的output,其中一行顯示了apk路徑(這是我不知道如何獲得它的,只有這個結果)

我嘗試使用 grep 過濾結果,但它不起作用

find / -name apk-file-name.apk 2>&1 | grep -v "Operation not permitted"

find / -name apk-file-name.apk 2>&1 | grep -v "Operation not permitted"|"Permission denied"

有什么幫助嗎?

您可以使用locate命令在文件系統中定位文件。

如果您還沒有啟用它,您可以通過運行以下命令來啟用它

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

您將在幾分鍾內無法使用它,因為它將索引所有內容,稍后您可以使用locate file_name.apk查找您要查找的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM