Shell
將多個命令粘貼到終端停止在使用者輸入
在使用者輸入的命令上將一些連續的命令粘貼到終端停止,例如:
read VAR echo $VAR
或者
select VAR in 1 2 3; do break; done echo $VAR
echo $VAR
沒有被粘貼/執行。但是,將所有命令放在一行上是可行的:
read VAR; echo $VAR
但是當有更多命令跟隨時,這不是首選。
為什麼會出現這種情況以及如何解決它?
我的案例是在服務文件中有一些重複出現的命令。
我當然可以編寫一個腳本,但這不是我打算做的,並且在只有讀取訪問權限的系統上可能是不可能的。
一個非常舒適的方法如下:
只需在終端中輸入以下內容:
(
paste-your-multiline-script-here
)
enter
詳細說明:
- 在您開始的終端中
(
可選:按
enter
(僅出於格式化原因) 2. 現在您可以粘貼多行例如:
echo hello
echo world
替代方案:您逐行鍵入/粘貼(用
enter
鍵完成每一個)。 3. 最後,鍵入 finalizing)
並enter
再次點擊,這將執行整個粘貼/輸入的行。小工作範例(用於逐行粘貼
enter
):anderson@tp ~ % ( \`subsh> echo hello \`subsh> echo world \`subsh> ) hello world anderson@tp ~ %
小工作範例(用於粘貼整個腳本):
anderson@tp ~ % ( \`subsh> echo hello echo world \`subsh> ) hello world anderson@tp ~ %
忽略格式化的小工作範例(用於粘貼整個腳本):
anderson@tp ~ % (echo hello echo world) hello world anderson@tp ~ %