728x90
반응형

회사업무로 인해 Powershell을 사용하게 되면서 원래 사용하던 zsh과 같은 생산성을 가지기 위해서 Auto suggestion이 필요했다. 

우선 Auto suggestion이란 내가 Shell을 사용하였던 command를 기준으로 shell 창에 추천을 해주는 것이다. 

 

Auto Suggestion 셋팅방법

 

Pre-requisites

- Powershell 5.1 or higher

 

Installation

1. 먼저 해당 기능을 사용하기 위해서는 `PSReadLine` 모듈을 설치해야 한다. 

$ Install-Module PSReadLine -RequiredVersion 2.1.0

2. Initialization

Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History

 

Powershell Profile에 추가

Shell이 열릴 때마다 해당 기능을 사용하기 위해서는 Powershell Profile에 넣어두면 된다. 

 

Powershell Profile 셋팅방법

처음 Powershell을 사용하면 Profile 설정이 되어 있지 않는 경우가 대부분이다. 그것을 확인하는 방법은 아래 명령어를 실행하는 것이다. 

$ Test-path $profile
False

 

위와 같이 False가 나오면 없는 것이다. 없는 경우 아래 `New-Item`으로 Profile 파일을 만들자.

$ New-item –type file –force $profile
<ㅛyour Document path>\Powershell\Microsoft.PowerShell_profile.ps1

이 기능을 사용하기 위해서는 Policy 설정도 필요하다. Powershell을 닫기 전에 아래 명령어를 실행하자.

$ Set-ExecutionPolicy RemoteSigned

이 설정은 파일이 로컬 컴퓨터에 있지 않고 원격 파일 서버에 있을 때  반드시 디지털 서명이 되어 있어야 한다는 것이다. 

 

아래의 내용을 파일에 추가한다.

Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History

 

728x90
반응형

'Shell > Powershell' 카테고리의 다른 글

[Powershell] Environment Variable 확인 및 추가하기  (0) 2022.02.24
728x90
반응형

grooy script에서 HostName 또는 Domain name으로 Ip address를 확인하고 싶은 경우가 있다. 

그럴 경우에는 InetAddress.getByName()을 사용하면 Host IP 와 name을 가진 InetAddress Structure를 리턴한다. 

def hostname = 'google.com'
println InetAddress.getByName(hostname).address.collect { it & 0xFF }.join('.')

 

728x90
반응형
728x90
반응형

https://gist.github.com/vratiu/9780109

 

Git shell coloring

Git shell coloring. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

$ __msg = "message"
$ echo -e "\033[0;31m${__msg}\033[0m"

 

728x90
반응형

'Shell > Bash' 카테고리의 다른 글

[bash] declare 란?  (0) 2022.02.24
728x90
반응형
declare: declare [-afFirtx] [-p] [name[=value] ...]

Declare variables and/or give them attributes. If no NAMEs are given, then display the values of variables instead. The -p option will display the attributes and values of each NAME.

The flags are:
       -a to make NAMEs arrays (if supported)
       -f to select from among function names only
       -F to display function names (and line number and source file name if debugging) without definitions.  
       -i to make NAMEs have the `integer' attribute.
       -r to make NAMEs readonly
       -t to make NAMEs have the `trace' attribute
      -x to make NAMEs export.

Variables with the integer attribute have arithmetic evaluation (see `let') done when the variable is assigned to.

When displaying values of variables, -f displays a function's name and definition. The -F option restricts the display. to function name only.

Using `+' instead of `-' turns off the given attribute instead. When used in a function, makes NAMEs local, as with the `local' command.

bash script의 Variable의 경우 보통 type 없이 생성하고 사용한다. 하지만 declare로 선언할 경우 type과 접근권한을 설정해줄 수 있다. 

 

-a : Array

$ declare -a os_name=(Ubuntu Mint Kubuntu lubuntu Debian)
$ echo ${os_name[@]}
$ declare -A os_family
$ os_family["Redhat"]="Fedora"
$ os_family["Arch"]="Manjaro"
$ os_family["Debian"]="Ubuntu"
$ echo ${os_family[@]}

-f : Select Function name

$ function hello_world(){ echo "Linux Geeks"; }
$ declare -f hello_world                                                                                  SIGINT(2) ↵  108  15:53:10 
hello_world () {
	echo "Linux Geeks"
}

-i : Integer attribute

$ declare -i num=10
$ echo $num
10

-x : Export attribute

$ declare -x name=declareTest
$ sh -c “echo $name”
declareTest

-r : Readonly attribute

$ declare -r num=10
$ num=11
-bash: no: readonly variable
728x90
반응형

'Shell > Bash' 카테고리의 다른 글

[bash] print되는 string에 컬러 넣기  (0) 2022.02.24

+ Recent posts