set問題詢問 - Linux

Hedda avatar
By Hedda
at 2017-09-09T19:09

Table of Contents

各位前輩打擾了

想在這請教兩個問題

第一個是有關set的用法

不太懂的是關於set --

查詢之後似乎是說:
set -- tells set to stop accepting flags and to stop outputting all the
variables when not passed any argument

單純set -- 是的確不會print all variables

但當有參數時,例如: set -- `ls`

似乎還是會指定argument給positional parameter
所以來問一下關於set --的正確用法
以及確認自己有沒有弄錯的地方

另外一個問題是以下的shell script中:

#!/bin/sh
# killbyname.sh: Kills a process by name -- but only a single instance
#
set -- `ps -u $LOGNAME | grep “ $1$”` # $1 here is different from
if [ $# -eq 4 ] ; then
kill -KILL $1 # the one here
else
echo “Either process $1 not running or more than one instance running”
fi

把它命名為killbyname.sh
並如下執行:
$ sh
$ sh
$ killbyname.sh sh

為什麼會說$1會是sh的PID,且在調用set之後script argument不再可見?

照理來說不是一樣找到帶sh的行 並重新用set指定給positional parameter

然後成功kill掉sh嗎?

希望能提供詳細的解釋

在這請教前輩們以上問題 再拜託了 非常感謝

以下是原文圖片:
http://imgur.com/a/aj5XH
http://imgur.com/a/Jc6Ux
http://imgur.com/a/FkBPr

--
Tags: Linux

All Comments

Ubutu 14.04 network-manager誤刪

Connor avatar
By Connor
at 2017-09-09T08:16
請問不小心誤刪到network-manager sudo apt-get network-manager remove 結果右上角網路圖示消失, 進入系統設定andgt;網路裡面的WIFI跟WIRE都消失了, 嘗試手動下載network-manager的deb手動安裝, 變成network-manager ...

限制主機對外連線

Noah avatar
By Noah
at 2017-09-08T16:36
想請問前輩們, 限制外面連入主機的ip可設定 /etc/hosts.allow /etc/hosts.deny 如果相反的, 要去限制主機對外連線該如何設定?? (僅開放主機能對特定IP傳輸資料, 其餘關閉) - ...

ubuntu下玩Tomb Raider(R3 1300X + RX560

Hedy avatar
By Hedy
at 2017-09-05T21:31
※ [本文轉錄自 PC_Shopping 看板 #1Phg8DCb ] 作者: RHTZ (愛在西元前) 看板: PC_Shopping 標題: [測試] ubuntu下玩Tomb Raider(R3 1300X + RX560 時間: Tue Sep 5 21:09:28 2017 網頁好讀:http ...

環境變數修改無效

Carol avatar
By Carol
at 2017-09-05T13:31
大家好 小弟是linux新手,是因為實驗室的模擬軟體需要架設在linux才多少碰一些 現在小弟遇到一個問題 我在透過root帳號在etc/profile中修改環境變數 但是使用其他帳號登入時,echo $PATH仍會是修改前的值 請問我疏忽了什麼步驟呢? 請原諒小弟是linux新手,不清楚應該額外提供哪 ...

Tunnel常斷線

Tristan Cohan avatar
By Tristan Cohan
at 2017-09-05T01:33
請問一下,我在 aws 上開了一台 ec2,做反向 tunnel 到家裡的電腦,結果發現 這個 tunnel 常常斷線,後來使用 autossh 後,斷線後的確會幫我再連回去,不過 不一定馬上就連的上,而是要等上一陣子… 結果造成在外面要連回家還還要常常碰運氣,看這個時間點是不是可以用的,如果不行就 晚點再 ...