Création d'un alias (lorsqu'il y a plusieurs arguments) [Comparaison de Bash et PowerShell]

Revenir au tableau de correspondance des commandes Bash et PowerShell

Bash

Format de commande

$alias Nom d'alias="Nom de la commande Argument 1 Argument 2...Argument N"

Exemple d'utilisation

A titre d'exemple, je voudrais lister un alias pour tmux.

#Créer un alias "ton"
$ alias ton='tmux set-window-option synchronize-panes on'

#Créer un alias "toff"
$ alias toff='clear; tmux set-window-option synchronize-panes off'

Au fait, voyez l'URL ci-dessous pour la signification de ces alias («ton» et «toff»). Exécuter des commandes sur plusieurs volets en même temps avec tmux [Fonctionnement simultané de plusieurs serveurs avec tmux](https://tech.naviplus.co.jp/2014/01/09/tmux%E3%81%A7%E8%A4%87%E6%95%B0%E3 % 82% B5% E3% 83% BC% E3% 83% 90% E3% 81% AE% E5% 90% 8C% E6% 99% 82% E3% 82% AA% E3% 83% 9A% E3% 83 % AC% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3 /)

PowerShell

Format de commande

n'existe pas </ font>. Créez votre propre alias avec des arguments.

Le format de la fonction d'alias auto-créée avec des arguments est assez bâclé, et il s'écrit comme suit.

powershell:Microsoft.PowerShell_profile.ps1


nom d'alias de fonction() {
Nom de la commande Argument 1 Argument 2...Argument N
}

Cependant, il ne sera pas valide comme alias sauf s'il est décrit dans le fichier Microsoft.PowerShell_profile.ps1. </ b> </ font>

L'emplacement de Microsoft.PowerShell_profile.ps1 est un seul coup avec la commande suivante.

> echo $profile
C:\Users\Nom d'utilisateur\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Si vous n'avez pas WindowsPowerShell \ Microsoft.PowerShell_profile.ps1 dans le dossier Documents, vous pouvez le créer vous-même ** </ font>.

Exemple d'utilisation

À titre d'exemple, je voudrais lister un alias qui lance Word à partir de PowerShell.

powershell:Microsoft.PowerShell_profile.ps1


#Ouvrir Word
function word() {
    $WORD_PATH = "C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE"

    if ( $args ) {
        #Si vous avez un fichier que vous souhaitez ouvrir
        Start-Process $WORD_PATH $args
    }
    else {
        #Si vous souhaitez simplement lancer Word
        Start-Process $WORD_PATH
    }
}

![003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614920/e9f6b0cd-0cfc-8a27-1e86-ca30264df0cf.png)

Après avoir créé l'alias, chargez Microsoft.PowerShell_profile.ps1 avec. (Dot).

$ Profile est Microsoft.PowerShell_profile.ps1! !!

> . $profile    # 「.Lire avec (point) "

Si vous pouvez créer correctement l'alias, exécutez simplement word dans PowerShell et Word démarrera.

word_alias.gif

Si vous souhaitez le séparer en tant que fichier d'alias uniquement

[Cliquez ici pour ouvrir] Séparer en tant que fichier d'alias uniquement
  • Tout d'abord, créez un fichier dédié à l'alias.
    Ici, créez powershell_aliases.ps1 sous le même dossier que Microsoft.PowerShell_profile.ps1.

000.png


  • Ensuite, ouvrez Microsoft.PowerShell_profile.ps1.
> vim $profile

#Si vous n'avez pas de vim, ouvrez-le avec "notepad"! !!
> notepad.exe $profile

  • Demandez à Microsoft.PowerShell_profile.ps1 de charger le fichier d'alias uniquement powershell_aliases.ps1.
    Spécifiez l'emplacement du fichier d'alias uniquement avec un chemin absolu **. </ font>

powershell:Microsoft.PowerShell_profile.ps1


#Lecture de fichiers contenant uniquement des alias
$ALIASES = "C:\Users\Nom d'utilisateur\Documents\WindowsPowerShell\powershell_aliases.ps1"
. $ALIASES    # 「.Lire avec (point) "

001.png


  • Créez votre alias préféré dans le fichier d'alias powershell_aliases.ps1.
> vim "C:\Users\Nom d'utilisateur\Documents\WindowsPowerShell\powershell_aliases.ps1"

#Ou ouvrir avec le bloc-notes

> notepad.exe "C:\Users\Nom d'utilisateur\Documents\WindowsPowerShell\powershell_aliases.ps1"

002.png


  • Enfin, chargez Microsoft.PowerShell_profile.ps1 avec. (Dot) pour refléter l'alias.
    Chargez Microsoft.PowerShell_profile.ps1 au lieu de powershell_aliases.ps1.
> . $profile    # 「.Lire avec (point) "

la fin.