質問編集履歴

4

細かい文章の追加

2020/05/04 11:10

投稿

l-_-l
l-_-l

スコア47

test CHANGED
File without changes
test CHANGED
@@ -72,6 +72,10 @@
72
72
 
73
73
  ### 再追記
74
74
 
75
+ 汎用的にしたいの意味について
76
+
77
+
78
+
75
79
  現在自分はzshのシェルを使っているので~/.zshrcに書き込めばよいと思いますが、例えばもしユーザーがのシェルがbashだったら機能しなくなってしまうので、zshでもbashでも動くようにしたいと思いまして。
76
80
 
77
81
  bin配下にシンボリックリンク(エイリアスしたいのはとあるPythonファイルです)を貼るなどのアイディアもないことはなかったのですが、ファイルが増えてしまうのでエイリアスの方が綺麗だと思い、エイリアスをしたいと思っている次第であります。

3

記入忘れを追加

2020/05/04 11:09

投稿

l-_-l
l-_-l

スコア47

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,9 @@
72
72
 
73
73
  ### 再追記
74
74
 
75
- 現在自分はzshのシェルを使っているので~/.zshrcに書き込めばよいと思いますが、例えばもしユーザーがのシェルがbashだったら機能しなくなってしまうので、zshでもbashでも動くようにしたいと思いまして
75
+ 現在自分はzshのシェルを使っているので~/.zshrcに書き込めばよいと思いますが、例えばもしユーザーがのシェルがbashだったら機能しなくなってしまうので、zshでもbashでも動くようにしたいと思いまして
76
+
77
+ bin配下にシンボリックリンク(エイリアスしたいのはとあるPythonファイルです)を貼るなどのアイディアもないことはなかったのですが、ファイルが増えてしまうのでエイリアスの方が綺麗だと思い、エイリアスをしたいと思っている次第であります。
76
78
 
77
79
 
78
80
 

2

やりたいことの詳細を追記

2020/05/04 11:07

投稿

l-_-l
l-_-l

スコア47

test CHANGED
File without changes
test CHANGED
@@ -70,6 +70,12 @@
70
70
 
71
71
 
72
72
 
73
+ ### 再追記
74
+
75
+ 現在自分はzshのシェルを使っているので~/.zshrcに書き込めばよいと思いますが、例えばもしユーザーがのシェルがbashだったら機能しなくなってしまうので、zshでもbashでも動くようにしたいと思いまして
76
+
77
+
78
+
73
79
  ### 環境
74
80
 
75
81
  OS: macOS 10.15.4

1

手動で実行時などの状況について追記、コードの修正

2020/05/04 11:03

投稿

l-_-l
l-_-l

スコア47

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,10 @@
5
5
  違うシェルに対して実行しているかなとか思いましたがどうすればよいか分からない状況なので質問させていただきました。
6
6
 
7
7
  よろしくお願いします
8
+
9
+
10
+
11
+ ###### 変更前
8
12
 
9
13
  ```Python
10
14
 
@@ -24,6 +28,48 @@
24
28
 
25
29
 
26
30
 
31
+ ###### 変更後
32
+
33
+ ```Python
34
+
35
+ import os
36
+
37
+ import subprocess
38
+
39
+ target_file_path = os.path.abspath(__file__)
40
+
41
+ cmd = 'alias test="' + target_file_path + '"'
42
+
43
+ # cmd = 'ls ' + os.path.dirname(target_file_path)
44
+
45
+ print(cmd)
46
+
47
+ result = subprocess.call(cmd,shell=True)
48
+
49
+ if result == 0:
50
+
51
+ print('成功')
52
+
53
+ else:
54
+
55
+ print('失敗')
56
+
57
+ ```
58
+
59
+
60
+
61
+ ### 追記
62
+
63
+ もう少し実際のコードに寄せてみました。
64
+
65
+ デモコードとして関係のない部分は省いていますが、状況は同じです。
66
+
67
+ 実行しているコマンドの文字列を出力し、手動で実行すると正常にエイリアスが登録できます。
68
+
69
+ また、変数cmdを下のコメントアウトしてあるlsに変えると実行できました。
70
+
71
+
72
+
27
73
  ### 環境
28
74
 
29
75
  OS: macOS 10.15.4