Shell-Script
創建 Bash 腳本以修改 tty 埠權限
我正在嘗試創建一個將在系統啟動時執行並修改許多 ttyA 埠的權限的 Bash 腳本。我不確定如何解決這個問題,並且想知道是否可以得到一些幫助。
我目前的程式碼是:
#!/bin/bash TTYA=$ ls /dev/ttyA11 echo $TTYA echo 'outside' if [[ $$TTYA == 'ttyA11' ]] then echo 'inside' chmod g+rw /dev/ttyA* fi
輸出:
$ sudo ./rc.serial /dev/ttyA11 outside
if
不幸的是,由於陳述不正確,這種方法不起作用。我不確定我是否正確地告訴我的變數檢查ttyA11
.
您的腳本存在許多需要注意的問題。
TTYA=$ ls /dev/ttyA11
不確定您要在這裡完成什麼,但如果您這樣做
TTYA=$(ls /dev/ttyA11)
(請注意將命令輸出分配給變數的正確語法),如果該設備存在,則將TTYA
包含。/dev/ttyA11
echo $TTYA
您可能應該在此處加上引號,如
echo "$TTYA"
echo 'outside' if [[ $$TTYA == 'ttyA11' ]]
$$
將擴展為正在執行的 shell 的 PID。所以,if 語句總是錯誤的。如果使用$TTYA
(單美元),該語句也會為假,因為設備名稱前面TTYA
有一個。/dev/
then echo 'inside' chmod g+rw /dev/ttyA* fi
腳本的邏輯很奇怪;如果存在,您似乎想要製作
/dev/ttyA*
group-rw 。/dev/ttyA11
但在那種情況下,會if [ -e /dev/ttyA11 ] ; then chmod g+rw /dev/ttyA* fi
更有邏輯?